USMART 是正点原子开发的串口调试工具,类似 Linux 的命令行:
led0(1) → 调用 void led0(uint8_t x) 函数;beep() → 调用 beep();help)。USMART 由三部分组成:
| 模块 | 作用 |
|---|---|
| 命令解析 | 从串口接收字符串,解析为「函数名(参数列表)」 |
| 函数注册表 | 所有可用函数的名称、参数类型 |
| 调用执行 | 用函数指针调用目标函数 |

复用 USART1(PA9/PA10) + LED0/LED1 + 蜂鸣器。
USMART 工具支持参数识别:基础类型自动解析,结构体/指针需手动指定。
// 注册函数列表
void *usmart_nametab[] = {
(void *)led0, "led0",
(void *)beep, "beep",
(void *)test, "test",
};
// 函数表:参数类型字符串
struct usmart_fun usmart_funtbl[] = {
{led0, "void led0(u8 x)"},
{beep, "void beep(void)"},
{test, "void test(u8 a, u16 b)"},
};

串口助手输入 led0(1) → LED0 亮;输入 beep() → 蜂鸣器响;输入 help → 列出所有可用函数。

led0(1),由 led0 函数实现决定(亮或灭)。