MCU:正点原子阿波罗开发板
IDE: MDK-ARM V5 +STM32CubeMX5.2.2
一、打开Cube,建立工程
点击ACCESS project from MCU
然后选择芯片类型
二、系统配置
在 Pinout&Configuration—System Core中:
设置时钟RCC的HSE(外部高速时钟)为晶振模式:
Crystal/ceramic Resonator
设置系统SYS的Debug为Serial Wire(SWD调试)
使能串口1
三、配置测试IO
这里选取板子上的LED1(PB1)
四、在 Clock Configuration中:
配置时钟为180 Mhz。
五、工程输出配置
略
六、开始移植
将移植文件复制到工程文件夹中,打开工程,并新建 USMART 组,添加USMART 组件代码,同时把 USMART文件夹添加到头文件包含路径
然后在main.c中包含usmart.h头文件,加入usmart_dev.init(90)初始化
再在stm32f4xx_it.c中的USART1_IRQHandler函数添加Usmart_Rev_Pro()即可
编译报错时将config文件的宏定义去注释就可以了
将hex文件烧录进板子
测试结果如下
七、组件分析
usmart.c负责与外部互交等。
usmat_str.c主要负责命令和参数解析。
usmart_config.c主要由用户添加需要由usmart管理的函数。
usmart.h和usmart_str.h是两个头文件,其中usmart.h里面含有几个用户配置宏定义,可以用来配置usmart的功能及总参数长度(直接和SRAM占用钩)、是否使能定时器扫描、是否使用读写函数等。
用户在使用过程中只需要在usmart_config.c中按照如下图片添加即可
USMART有7个系统命令:
?: 获取帮助信息
help: 获取帮助信息
list: 可用的函数列表
id: 可用函数的ID列表
hex: 参数16进制显示,后跟空格+数字即执行进制转换
dec: 参数10进制显示,后跟空格+数字即执行进制转换
runtime 1,开启函数运行计时;0,关闭函数运行计时;