正点原子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下载

遇到的问题:在这里插入图片描述
开机初始化打印BUG:会导致单片机初始化失败,可能是盗版芯片无法读取芯片编码导致,直接注销掉就好。

STM32 printf重定向时要注意两点

1.调用printf需先导入stdio.h头文件
2.需勾选Target中的use MicroLIB

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值