#申请原创# #每日话题# LKS32mc081_083_088系统板+低中功率板学习之GPIO篇
本次主要学习的内容是针对南京凌鸥推出的LKS32MC08系列的学习记录,后面慢慢上手搭建foc控制框架,调试一款电机。
GPIO功能概述
LKSMC08x系列主要有4组16Bit位宽的GPIO引脚,整个GPIOd的功能框图比较简写易懂,不同寄存器配置管什么功能直接在图上可以看出,由于本文只是对GPIO控制实现流水灯的小例子实现过程的记录,故不在详述,具体可以查看凌鸥官网上的08x系列的user manual。
GPIO功能框图
2.工程搭建
整个08x系列的工程代码框架可以从凌鸥论坛里面的模块例程中了解,这里笔者主要自己从零搭建一个框架和工程,首先,在自己工程文件夹下建立几个子目录
APP文件夹中存放用户自定义添加的一些外设应用如led.c和led.h文件。
Src和Inc存放用户的主函数,和一些公共的配置的源文件和如系统初始化等。
Drivers文件夹中存放凌鸥0x系列的底层的库函数,由凌鸥工程师编写,后面的一些学习和应用都是基于这些库函数,以及针对库函数中的定义进行学习和分析。
目前整个工程代码的运行主要应用keil软件进行编译链接,但是能够完整运行LKS工程的代码,需要安装LKS08x系列的支持keil编译的pack包,具体下载网址LKS08x-南京凌鸥创芯电子有限公司 (linkosemi.com)
步骤一:根据自己所用的keil版本下载pack以后,打开Keil新建一个工程
之后选择凌鸥系列的芯片型号,这里具体芯片型号的命名规则,可以在官网的Datasheet中具体了解
LKS08x系列芯片命名规则
步骤二:工程的相关配置
这里的配置主要注意以下4个地方,首先Device芯片信号不在赘述,
其次是输出选项配置,可以配置是否输出hex文件,以及是否可以进行定义的跳转,建议三项均勾选
然后是C/C++编译选项的设置,这里主要是针对自己工程文件的路径,将包含.h的文件夹都包含进去就可以,通过文件目录的建立可知,我们.h文件分别存放在./APP/Inc、./Drivers/include、。./Inc,而且LKS系列的芯片目前不需要有一些Define的内容,方便用户开发
最后是Debug运行调试的设置,LKS08x系列目前主要是通过SWD的协议进行通讯调试,具体Jink仿真器从网上,或者联系采用购买凌鸥自己的下载器都可以获得。Debug主要注意的是选择J-link的调试方式,而且在连接LKS081MCU板子的时候会弹出没有识别确定型号的界面,需要用户点击ok,由于LKS08x系列主要是以CortxM0内核的设计,故选择M0内核。
整个flash下载烧录过程中的选项,主要是选择全擦除以及复位运行
3.硬件设计
LKS08x低中压功率板上有三个LED灯,而且最小MCU板子上也有LED灯的电气标识,原理图查看起来非常方便。
我们只需要将MCU最小系统板插在功率板的MCU底座上面,默认情况下P0.6、P0.7和P0.3和LED1,LED2,LED3连在一起了,后续只需要驱动对应的引脚驱动LED即可。
4.软件设计
针对实现LED流水灯的源码和硬件电路已经和帖子一起上传,实现流水灯用到的外设比较简单,首先对GPIO引脚的输入输出模式,是否上拉进行了基本的初始化
2,将流水灯采用状态机实现,定义不同灯亮的状态
初始化状态:
主函数里不断循环查询状态
5.验证效果
6.问题总结
工程配置的过程基本一致,有没有一种方案可以自动配置好?或者是写脚本的方式,希望后续可以解决,因为ST是有图形化配置界面,但是在LKS没有图形化之前,这些问题是否可以验证?
|