在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) 下面这个代码效果是查询或设置一个蓝牙设备的设备名称的代码,当没参数时,是查询蓝牙设备名称,带参数...
熟悉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 长度有限制,如...
MSH_CMD_EXPORT(adc_vol_sample, adc voltage convert sample); 硬件连接如下,这里使用的是大疆的6s电池,输出电压24V。 由于电池基本要没电了因此计算出来的电压为22.39V偏小属于正常现象。
MSH_CMD_EXPORT(name, desc);导出无参数命令时,函数的入参为void,示例如下:#include <rtthread.h>...
MSH_CMD_EXPORT是宏定义,完整内容在finsh_api,h中 define MSH_CMD_EXPORT(command, desc) \ FINSH_FUNCTION_EXPORT_CMD(command, __cmd_##command, desc)而FINSH_FUNCTION_EXPORT_CMD又是另外一个宏定义,也在finsh_api,h中 define FINSH_FUNCTION_EXPORT_CMD(name, cmd, desc) \ const ...
}MSH_CMD_EXPORT(hello , say hello to RT-Thread); 导出有参数的命令时,函数的入参为int argc和char**argv。argc表示参数的个数,argv表示命令行参数字符串指针数组指针。导出有参数命令示例如下: #include <rtthread.h>staticvoidatcmd(intargc,char**argv) ...
MSH_CMD_EXPORT(uart_sample, uart device sample); 测试,可以看到串口0发送了信息”hello RT-Thread!”,用串口调试助手进行数据发送,可以看到串口0接收到数据并且返回数据。 在此基础上进行修改,使用3个信号量,设计一种带超时的数据接收处理方式,修改后的代码如下: ...
1、argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数。 2、char *argv[]是一个字符数组,其大小是int argc,主要用于命令行参数argv[]参数,数组里每个元素代表一个参数 最后使用MSH_CMD_EXPORT()函数注册带参数的命令函数。编译下载工程,然后在...
配置好串口后可以在右侧的引脚图中看到PA9和PA10已经复用为串口1的功能。串口的通讯参数按照默认的...