RTthread中,FinSH(msh)和console控制台的联系
n");
·
在FinSH shell中,FinSH 对命令数据的输入和输出,全部都是依赖控制台console的串口外设来实现的:
(1)FinSH msh命令行中,对命令行输入的数据是依赖控制台console的串口Rx接收完成的。(2)FinSH msh命令行中,对输入的命令遍历完命令函数处理完后,将输出信息再回显到终端上是依赖控制台console的串口Tx,因为命令函数内部会调用console的rt_kprintf()接口将Tx数据回显到控制台终端。
总结:FinSH的输入和输出,完全依赖控制台console的串口Tx和Rx。
代码分析,两个重要函数:
rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
finsh_system_init();


FinSH 线程在函数 finsh_system_init() 函数中被创建,它将一直等待 rx_sem 信号量。
finsh_thread_entry(void *parameter)是Finsh线程的入口函数。



MSH_CMD_EXPORT - FinSH动态加载自定义命令
void my_hello(void)
{
rt_kprintf("hello RT-Thread!\n");
}
MSH_CMD_EXPORT(my_hello , say hello to RT-Thread);
更多推荐



所有评论(0)