标签:
一. finsh在RT-Thread中被设计成一个独立的线程,它试图从外部设备中获得用户的输入,然后对用户命令进行解析执行。
正确使用finsh需要一个关联过程:
上述过程需要正确配置如下项:
#define RT_USING_FINSH //rt_config.h
#define RT_USING_UART1 //rt_config.h
#define RT_CONSOLE_DEVICE_NAME “usart1” //rtconfig.h
二.finsh中自定义命令、函数及变量
使用宏方式输出,需在rtconfig.h中定义FINSH_USING_SYMTAB
FINSH_FUNCTION_EXPORT()
FINSH_FUNCTION_EXPORT_ALIAS()
FINSH_VAR_EXPORT()
#include <rtthread.h> #ifdef RT_USING_FINSH //#ifdef FINSH_USING_SYMTAB #include <finsh.h> // must include static int wang_num = 1; void wang(int num) { if(num < 10000) wang_num = wang_num++ * 2; rt_kprintf("Param:%d\n", wang_num); } FINSH_FUNCTION_EXPORT(wang, just test) FINSH_VAR_EXPORT(wang_num, finsh_type_int, just var test) //#endif #endif
执行结果:
标签:
原文地址:http://www.cnblogs.com/embedded-linux/p/5450375.html