stm32-mini学习笔记-USMART调试组件

article/2025/8/29 22:44:54

目录

USMART调试过程

USMART特点

USMART文件简介

USMART配置步骤

USMART系统命令

实验现象

main中代码


USMART调试过程

 

1.串口发送命令调用函数

2.单片机节后到命令后,解析命令,调用对应的函数

3.调用函数

USMART特点

1, 可以调用绝大部分用户直接编写的函数。

2, 资源占用极少(最少情况:FLASH:4K;SRAM:72B)。

3, 支持参数类型多(数字(包含 10/16 进制)、字符串、函数指针等)。

4, 支持函数返回值显示。

5, 支持参数及返回值格式设置。

6, 支持函数执行时间计算(V3.1 版本新特性)。

7, 使用方便。

USMART文件简介

USMART文件可在正点原子给的程序 源码中直接复制,复制到上一节LCD实验中使用

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_config.c中的两个外部函数,否则软件会报错。③主函数中调用usmart_dev.init函数初始化usnmart。

usmart_dev.init(SystemCoreClock/1000000)参数为系统时钟,入口参数中写SystemCoreClock/1000000   以mhz为单位除以1000000

要设置中断优先级

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
usmart_dev.init(72); 	//初始化USMART	


④即可通过助手发送命令,调用在usmart注册过的函数。

在主函数中定义led函数,在USMART中再进行外部函数的引用,不要忘记添加调用函数的头文件。

例如:如果调用void led_set(u8 sta)函数来进行测试,在usmart_config.c中取消对该函数的注释,并且在主函数之前定义该函数,相关函数编写可参考usmart_config.c中对此函数的操作

void led_set(u8 sta){LED1=sta;
}

USMART系统命令


USMART有7个系统命令:
? 获取帮助信息
help:获取帮助信息
list可用的函数列表
id: 可用函数的ID列表
hex:参数16进制显示,后跟空格+数字即执行进制转换dec:参数10进制显示,后跟空格+数字即执行进制转换

runtime:1,开启函数运行计时;0,关闭函数运行计时;请按照程序编写格式输入函数名及参数并以回车键结束。

实验现象

输入系统命令会返回信息,输入函数及其参数会执行对应操作。

main中代码

#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "usmart.h"//LED状态设置函数
void led_set(u8 sta)
{LED1=sta;
} 
//函数参数调用测试函数
void test_fun(void(*ledset)(u8),u8 sta)
{ledset(sta);
}  	int main(void){ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2delay_init();	    	 //延时函数初始化	  uart_init(9600);	 	//串口初始化为9600LED_Init();				//初始化与LED连接的硬件接口LCD_Init();				//初始化LCDusmart_dev.init(72); 	//初始化USMART				 	POINT_COLOR=RED;LCD_ShowString(30,50,200,16,16,"Mini STM32 ^_^");	LCD_ShowString(30,70,200,16,16,"USMART TEST");	LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");LCD_ShowString(30,110,200,16,16,"2014/3/8");	   while(1) {		 	  LED0=!LED0;					 delay_ms(500);	}											    
}	


http://chatgpt.dhexx.cn/article/SmH3ug1J.shtml

相关文章

USMART学习

文章目录 前言一、例程测试二、使用方法总结 前言 正点原子USMART组件可以方便地对函数参数进行修改,学习以下如何使用。 实验平台:战舰开发板F103 实验目的:学习USMART使用 提示:以下是本篇文章正文内容,下面案例可供…

STM32学习之USMART使用

看到没有,我不是标题党,这个蓝桥杯用不了我就没加!! USMART是正点原子推出的一款利用串口通信方便调参的工具。 简单来说: 一般情况下函数的入口参数调整很麻烦,你需要 1.改变参数 2.编译 3.下载 4.观察 用了USMART以后,只需要 1.串口发送你需要的参数 2.观察 这样子…

STM32F4_USMART调试组件

目录 1. USMART是什么? 2. USMART的特点 3. USMART实现流程 4. USMART组件 5. 在usmart_config.c中添加想要被USMART调用的函数 6. 实验程序 6.1 main.c 6.2 usmart.c 6.3 usmart.h 7. USMART调试的优越性说明 1. USMART是什么? USMART 是 AL…

正点原子USMART组件移植

文章目录 一、打开Cube,建立工程二、系统配置三、配置测试IO四、在 Clock Configuration中:五、工程输出配置六、开始移植七、组件分析 MCU:正点原子阿波罗开发板 IDE: MDK-ARM V5 STM32CubeMX5.2.2 一、打开Cube,建立工程 点击AC…

USMART组件

USMART调试组件 一、原理 首先,啥是USMART啊? 简单来说就是通过串口与开发板进行交互的工具。使用USMART的目的是减少使用J-LINK调试或者修改代码输入参数再进行下载等操作,通过串口传递参数,从而简化程序修改过程以及减少FLASH…

USMART调试组件实验

USMART是正点原子团队为其STM32开发平台开发的一种类似linux的shell的调试工具。具体工作过程是通过串口发送命令给单片机,然后单片机收到命令之后调用单片机里面对应的相关函数,并执行,同时支持返回结果。 USMART调试过程: USMA…

stm32之USMART调试组件的使用

文章目录 一、USMART是什么?二、使用步骤 一、USMART是什么? USMART 是由 ALIENTEK 开发的一个灵巧的串口调试互交组件,通过它你可以通过串口助手调用程序里面的任何函数,并执行。因此,你可以随意更改函数的输入参数(…

USMART 调试组件实验

文章目录 前言一、USMART调试组件简介USMART组件的移植 二、硬件设计三、软件设计 前言 本章,我们将向大家介绍一个十分重要的辅助调试工具:USMART 调试组件。该组件由 ALIENTEK 开发提供,功能类似 linux 的 shell(RTT 的 finsh …

USMART串口调试

目录 一、USMART简介二、USMART的移植2.1 usmart_str.h头文件2.2 usmart.h头文件2.3 usmat_str.c源文件2.4 usmart.c源文件2.5 usmart_config.c源文件 三、USMART的实现3.1 USMART的实现流程3.2 USMART的调用 一、USMART简介 USMART是由ALIENTEK开发的一个灵巧的串口调试互交组…

USMART

USMART是正点原子团队为其STM32开发平台开发的一种类似linux的shell的调试工具。具体工作过程是通过串口发送命令给单片机,然后单片机收到命令之后调用单片机里面对应的相关函数,并执行,同时支持返回结果。 普通的做法:写函数 ->修改参数->下载->看结果-&…

USMART调试组件

什么是USMART? USMART是正点原子团队为其STM32开发平台开发的一种类似linux的shell的调试工具。具体工作过程是通过串口发送命令给单片机,然后单片机收到命令之后调用单片机里面对应的相关函数,并执行,同时支持返回结果。 USMART调试过程:: USMART应用场景&#x…

2021-07-13 Charles破解

Charles破解码:https://play.golang.org/p/Qtt2CmHbTzU 使用方法:浏览器打开运行代码,复制name和key即可 注:如有侵权请联系删除!

charles破解历程

题记 看文章看到javassist可以直接修改java字节码,之前没有尝试过,因为charles是用java写的跨平台抓包工具,之前我也用过,所以拿来进行测试! 简介 Javassist是一个开源的分析、编辑和创建Java字节码的类库。 Javas…

Charles4.62破解版本下载

第一种方式: 这种方式下载后,还要自己输入许可证 链接 提取码:2vb0 添用激活码计算器生成激活码 点击这个,把刚才创建的名字和许可证输入进去即可 然后关闭软件,重新打开即可 第二种方式: https://ww…

charles破解 mac

下载charles并安装 https://www.charlesproxy.com/latest-release/download.do 下载charles破解包charles.jar https://www.zzzmode.com/mytools/charles/ 然后用下载的charles.jar替换原先的charles即可 文件路径/contents/java/charles.jar

charles破解https请求

当你的app包从http升级到https的时候,是不是忽然间发现你的请求抓不到了呢?别担心,只是因为你们的app加密升级了,但是我们还是可以正常破解的。接下来直接谈破解步骤啦: 1:首先打开charles,在其主tab栏点击…

Charles破解方法

// Charles Proxy License // 适用于Charles任意版本的注册码,谁还会想要使用破解版呢。 // Charles 4.2目前是最新版,可用。 Registered Name: https://zhile.io License Key: 48891cf209c6d32bf4 本方法通杀charlse系列激活问题。 破解方式&#…

mac抓包工具charles破解版安装及简单使用

在windows上一般使用fiddler进行抓包,但是在mac上就显得很僵硬,所以通过查阅资料,总算安装并且配置好了同样强大的charles,遂在此总结。 首先附上破解版的下载地址 链接:https://pan.baidu.com/s/1yHH-958uLiuXvQbdvGegOQ 密码:y…

Charles破解三十分钟重启

使用charles的用户应该都知道,这个charles是一款收费软件,启动时得等待十秒,然后每过半个小时还会重启,真难受 下面时解决的方法,这个方法不是原厂,指示本人了解到的,一切与本人无关哦&#xf…

MAC安装Charles破解版简易教程

Charles:青花瓷抓包工具。 官网下载:https://www.charlesproxy.com/download/(可惜限制了30天的使用期限) 破解版下载:https://download.csdn.net/download/fifteen718/10774499 破解版安装方式: 通过上…