正点原子USMART组件移植


MCU:正点原子阿波罗开发板
IDE: MDK-ARM V5 +STM32CubeMX5.2.2

一、打开Cube,建立工程

在这里插入图片描述
点击ACCESS project from MCU
然后选择芯片类型
在这里插入图片描述

二、系统配置

在 Pinout&Configuration—System Core中:
设置时钟RCCHSE(外部高速时钟)为晶振模式:
Crystal/ceramic Resonator
设置系统SYSDebugSerial 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,关闭函数运行计时;

Git库usmart组件
CSDN下载

发布了33 篇原创文章 · 获赞 4 · 访问量 5083

猜你喜欢

转载自blog.csdn.net/qq_42967008/article/details/100014885