在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...
熟悉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 长度有限制,如...
1.#defineMSH_CMD_EXPORT(command, desc) FINSH_FUNCTION_EXPORT_CMD(command, __cmd_##command, desc)//嵌套一层宏定义,把两个参数变成3个参数,command用##与__cmd_连接起来,那么它的第二参数就变成__cmd_command2.#pragmasection("FSymTab$f",read)#defineFINSH_FUNCTION_EXPORT_CMD(name, cmd, desc) ...
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 命令列表中 */ MSH_CMD_EXPORT(interrupt_sample, interrupt sample); 仿真运行结果如下: \ | / RT - Thread Operating System / | \ 3.1.0 build Aug 27 2018 2006 - 2018 Copyright byrt-threadteam msh >interrupt_sample
MSH_CMD_EXPORT(reboot, Reboot System); 将这句代码替换掉上面的 FINSH_FUNCTION_EXPORT_ALIAS 即可。 四、配置PWM 1.使能PWM 首先打开RT-Thread Settings 打开PWM驱动。 选择组件,设备驱动程序,使能PWM,然后点击左上角保存。 2.配置时钟 配置时钟我们仍然需要使用CUBEMX工具,我目前要使用的PWM是A0引脚,将A0设置...
/* 动态创建对象 obj_test_create thread1 */ void obj_test_create(uint8_t argc, char** argv) { struct rt_object* obj = RT_NULL; if (argc >= 2) { rt_kprintf(" obj_name=%s\n", argv[1]); } obj = rt_object_find(argv[1], RT_Object_Class_Thread); ...
之前已经完成GD32F150上RT-Thread Nano的内核运行,为了在产品中方便调试除错,RT-Thread的shell是非常实用且必不可少的一个功能的。其实RT-Thread Nano的keil pack也是可以支持shell中的msh功能的,只需要完成一些配置及串口驱动编写等工作就可以正常使用msh。
rt_thread_startup(thread); } else { ret = RT_ERROR; } return ret; } /Export to the msh command list */ MSH_CMD_EXPORT(uart_sample, uart device sample); 在msh中输入uart_sample,驱动打开,初始化正常。观察uart1工作是否正常。正常说明驱动加载运行正常。
自定义的 msh 命令,可以在 msh 模式下被运行,将一个命令导出到 msh 模式可以使用如下宏接口: MSH_CMD_EXPORT(name, desc); 示例如下: 在命令行里输入hellortrn就会触发这个函数。 先探究MSH_CMD_EXPORT这个宏定义的实现。 RT-Thread FinSH控制台添加自定义msh命令原理.pdf (132.96 KB, 下载次数: 34 ) 原...