自定义的 msh 命令,可以在 msh 模式下被运行,将一个命令导出到 msh 模式可以使用如下宏接口: MSH_CMD_EXPORT(name, desc); 示例如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 voidhellort(void){rt_kprintf("hello RT-Thread!\n");}MSH_CMD_EXPORT(hellort,say hello toRT-Thread); 在命令...
综上可见,对每个MSH_CMD_EXPORT宏定义,其实都是在FSymTab段里定义了一个结构体,结构体里包括了命令名字、描述及执行命令时实际调用的函数。 3. finsh线程函数finsh_thread_entry 将函数通过MSH_CMD_EXPORT导出后,在shell中输入函数名及参数后,就可以执行了。这是通过finsh的线程函数来完成的。 /* components/fins...
熟悉RT-Thread MSH shell cmd 命令的编写方法,如命令行后面的参数的个数、参数的处理方法 shell cmd 参数的个数:argc ,命令本身算一个,也就是 file_compare f1 f2,argc = 3,其中 argv[0] = file_compare , argv[1] = f1, argv[2] = f2 默认RT-Thread 的 shell cmd 长度有限制,如...
在rt-thread中,使用FinSH,可以支持命令行。在源码中,使用MSH_CMD_EXPORT导出函数到对应命令。 externvoidrt_show_version(void);longversion(void){ rt_show_version();return0; } MSH_CMD_EXPORT(version, show RT-Thread version information); MSH_CMD_EXPORT是一个宏: #defineMSH_CMD_EXPORT(command, desc...
}MSH_CMD_EXPORT(TEXT, RT-Thread TEXT sample); 在命令行里输入TEXT\r\n就会触发这个函数。关键是这个宏定义的实现 带参数的命令的写法 带参数的命令写法其实就类似main函数的参数一样(int argc,char **argv) 下面这个代码效果是查询或设置一个蓝牙设备的设备名称的代码,当没参数时,是查询蓝牙设备名称,带参数...
1、RT-Thread FinSH控制台添加自定义msh命令原理 FinSH 是 RT-Thread 的命令行组件,提供一套供用户在命令行调用的操作接口,主要用于调试或查看系统信息。它可以使用串口 / 以太网 / USB 等与 PC 机进行通信。 FinSH 提供了多个宏接口来导出自定义命令,导出的命令可以直接在 FinSH 中执行。 自定义的 msh 命令,...
自定义msh命令 这是传统的命令行模式,也是最常用的一种。 该命令可以导出有参数的命令,也可以导出无参数的命令。导出无参数命令时,函数的入参为 void,示例如下: voidhello(void){rt_kprintf("hello RT-Thread!n");}MSH_CMD_EXPORT(hello,say hello to RT-Thread);//hello是命令名称,say hello to RT-Threa...
1.3 自定义 msh 命令 1.3 FinSH 功能配置 2、FinSH组件原理介绍 2.1 finsh shell的结构 2.2 FinSH线程 2.3 FinSH 的输入 2.4 FinSH 的输出 2.4.1 创建并注册串口设备: 2.4.2 打开串口设备: 1、FinSH组件介绍 FinSH 是 RT-Thread 的命令行组件,提供一套供用户在命令行调用的操作接口,主要用于调试或查看系统信...
这个啊,就和PC端(我说PC,一般都喜欢指代搭载windows系统的计算机)或者linux系统非常常见的命令行指令一样。是很方便的东西。 打开RT-Thread Settings 点击右侧那个看起来像“远小于”号的图标 点击组件,点击MSH:command shell 看到这个东西已经被启用 回到application中的main.c里 ...