[LKS32 硬件] 【LKS32MC081评测】初体验

[复制链接]
124|1
手机看帖
扫描二维码
随时随地手机跟帖
firefly2k|  楼主 | 2022-6-23 19:47 | 显示全部楼层 |阅读模式
本帖最后由 firefly2k 于 2022-6-23 19:54 编辑

LKS32两个比较吸引我的功能是内置电机驱动(后来发现是理解错了,是内置预驱动,而不是驱动)和PGA
拿到实际板子我才去仔细看规格书和这两个功能,看完后先提下建议再写其他的
1、内置电机预驱动:开发板最好是提供更高集成度,咋给的板子预驱动还是要放在外面的?这样体现不出芯片的优势和公司的能力呀
2、PGA:放大倍数有点小,市面上的PGA通常放大倍数都能到64以上的,很多是128的。081内置的还不到20倍,这显得有点太小了,实用性一下大打折扣了。另外,还有06x系列是整数20倍,咋到08x系列,连20倍都不到,还变成不是整数了(200/10.4)?按道理不是应该越做越好呀?
运放.jpg

由于最近可能有点忙,LKS32评测要求时间内很多功能估计没时间测,我就先测两个最简单的功能,熟悉一下。先完成任务,后期有时间再慢慢测吧。

1、关于开发工具:
开发板上并非20脚JTAG接口,而是4线接口。官方说jlink, ulink, dap都支持。ST-Link好像有人说可以有人说不行。由于手上只有ST-Link,为了减少不必要的麻烦还是去买了个Jlink9。

2、开发板:
实际收到的板子是两块开发板,官网上应该是对应的下面图种红色圆圈的两个
开发板.jpg

开发板的实物如下图:
LT.jpg
3、开发环境搭建:
我用的是Keil5.28,所以先下载和安装官方的Pack,链接如下:https://www.linkosemi.com/uploadfiles/Updatefile/nutstore/Keil_v5_device_pack/Linko.LKS08x_v1.0.5.rar

注意官方提供的例程里,芯片设置的型号不对,需要修改成与实物相同的LKS32MC081C8T8,否则下载时会报错。

另外,下载时碰到下面的错误提示,是因为下载算法没有加载的缘故。具体如下图中,加载后。下载一切正常
没有加载烧录算法.jpg

没有加载烧录算法解决.jpg
4、例程运行与试跑
        4.1 GPIO例程
        没想到官方的例程里会有错误,开始运行老出不来预期结果,有个LED始终不亮。


在gpio.led.h文件中
//LED1  P0.6
#define LED1_GPIO_PORT GPIO0            /* GPIO端口 */
#define LED1_GPIO_Mode GPIO_Mode_OUT;   /*GPIO输出模式*/
#define LED1_GPIO_PuPd GPIO_PuPd_NOPULL /*GPIO上下拉模式选择*/
#define LED1_GPIO_PIN GPIO_Pin_15       /*输出GPIO端口号*/


明明注释中写的LED1用的是P0.6,不知道为啥官方程序里是P0.15。修改为:
//LED1  P0.6
#define LED1_GPIO_PORT GPIO0            /* GPIO端口 */
#define LED1_GPIO_Mode GPIO_Mode_OUT;   /*GPIO输出模式*/
#define LED1_GPIO_PuPd GPIO_PuPd_NOPULL /*GPIO上下拉模式选择*/

#define LED1_GPIO_PIN GPIO_Pin_6       /*输出GPIO端口号*/

另外,对应的hardware_init.c文件中初始化部分也对应修改下
    //配置LED1:P0.6
    GPIO_StructInit(&GPIO_InitStruct);         //初始化结构体
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; //GPIO输出模式
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_15;
    GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_Init(GPIO0, &GPIO_InitStruct);


修改成:
    //配置LED1:P0.6
    GPIO_StructInit(&GPIO_InitStruct);         //初始化结构体
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; //GPIO输出模式
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6;
    GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_Init(GPIO0, &GPIO_InitStruct);


修改后该例程就一切正常了

        4.2 双线UART0传输 例程
别的基本没啥问题,收发都正常,只是延时函数时间太短,发的数据太快,接受的数据可能不小心看不到。建议把延时的函数时间改长点就好了

                delay(0X2FFFF);                                //延时
修改为:
                delay(0XFFFFF);                                //延时

后续有时间,其他例程测试会继续再添加

使用特权

评论回复
盗铃何须掩耳| | 2022-6-24 16:40 | 显示全部楼层
底板可能有不同版本吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则