一、USMART组件说明
USMART是正点原子团队为其STM32开发平台开发的一种类似linux的shell的调试工具。具体工作过程是通过串口发送命令给单片机,然后单片机收到命令之后调用单片机里面对应的相关函数,并执行,同时支持返回结果。
USMART调试过程:
1、串口调试助手发送函数命令:Led_Set(0);
2、单片机接收到命令之后,解析命令,调用对应的函数:Led_Set();
3、执行Led_Set函数。
使用场景:开发过程中,经常需要修改函数入口参数,查看运行效果的情况下应用非常方便。不用多次下载代码,或者多次用JLINK调试。
二、USMART文件组
- usmart.c负责与外部互交等。
- usmat_str.c主要负责命令和参数解析。
- usmart_config.c主要由用户添加需要由usmart管理的函数。
- usmart.h和usmart_str.h是两个头文件,其中usmart.h里面含有几个用户配置宏定义,可以用来配置usmart的功能及总参数长度(直接和SRAM占用挂钩)、是否使能定时器扫描、是否使用读写函数等。
USMART配置步骤: - 将USMART包添加到工程中,头文件要包含到path。
- 添加需要调用的函数到usmart_config.c文件中。
- 主函数中调用usmart_dev.init函数初始化usmart。
- 即可通过助手发送命令,调用在usmart注册过的函数。
USMART系统命令:
USMART有7个系统命令:
- ?: 获取帮助信息
- help: 获取帮助信息
- list: 可用的函数列表
- id: 可用函数的ID列表
- hex: 参数16进制显示,后跟空格+数字即执行进制转换
- dec: 参数10进制显示,后跟空格+数字即执行进制转换
- runtime 1,开启函数运行计时;0,关闭函数运行计时;