怎样用网站做单笔外贸,湖南长沙,东莞页面设计的培训,苏州建站公司哪个济南兴田德润实惠吗1、msh配置
msh功能是自动开启的#xff0c;配置如下#xff0c;可以在“RT-Thread Settings”里去修改。 调试过程中遇到msh不能使用#xff0c;理解msh也是一个线程#xff0c;有自己的优先级20#xff0c;高优先级的线程#xff08;比如main是10#xff09;如果一直…1、msh配置
msh功能是自动开启的配置如下可以在“RT-Thread Settings”里去修改。 调试过程中遇到msh不能使用理解msh也是一个线程有自己的优先级20高优先级的线程比如main是10如果一直执行就会阻塞msh。 2、自带的msh命令
2.1、系统msh命令
因为开启了ulog日志功能所以系统自带的msh命令会加上这一部分输入“help”回车可以看到命令列表。
clear是清屏、version是打印内核版本、list会列出关于系统的各种信息、ps列出线程信息、free是查看内存使用、pin是控制GPIO、reboot重启系统 2.2、ulog提供的msh命令
因为使用ulog功能所以就会打印出很多日志信息但是使用msh的时候又不希望这些信息刷屏所以可以临时过滤日志方便交互、或者终端开启滚动锁定。
2.2.1、关于level的取值
0断言3错误4警告6信息7调试
2.2.2、按模块过滤 ulog_tag_lvl tag level
功能函数调用执行命令关闭 wifi 模块全部日志ulog_tag_lvl_filter_set(wifi, LOG_FILTER_LVL_SILENT);ulog_tag_lvl wifi 0开启 wifi 模块全部日志ulog_tag_lvl_filter_set(wifi, LOG_FILTER_LVL_ALL);ulog_tag_lvl wifi 7设置 wifi 模块日志级别为警告ulog_tag_lvl_filter_set(wifi, LOG_LVL_WARNING);ulog_tag_lvl wifi 4
2.2.3、按全局级别过滤 ulog_lvl level
功能函数调用执行命令关闭全部日志ulog_global_filter_lvl_set(LOG_FILTER_LVL_SILENT);ulog_lvl 0开启全部日志ulog_global_filter_lvl_set(LOG_FILTER_LVL_ALL);ulog_lvl 7设置日志级别为警告ulog_global_filter_lvl_set(LOG_LVL_WARNING);ulog_lvl 4 剩余内容见ulog官方手册RT-Thread 文档中心-ulog日志 3、添加msh命令
添加msh命令有两步写想要执行的函数然后使用MSH_CMD_EXPORT导出
3.1、MSH_CMD_EXPORT
MSH_CMD_EXPORT(name, desc); name是函数的名称desc是description描述也就是help列出命令后方展示的内容
3.2、添加不带参数的msh命令
void hello(void)
{rt_kprintf(hello RT-Thread!\n);
}MSH_CMD_EXPORT(hello , say hello to RT-Thread);
3.3、添加不带参数的msh命令
需要注意函数的参数格式为(int argc,char** argv)。
argc的类型是整型代表参数的个数包含函数名argv的类型是字符串数组指针代表参数的内容包含函数名
下面的示例是官方的在此基础上解释
1、msh输入atcmd client2、解析msh命令需要执行的函数是atcmd传入的参数argc2,argv[atcmd,client]3、根据解析内容执行atcmd函数
static void atcmd(int argc, char**argv)
{if (argc 2){rt_kprintf(Please inputatcmd server|client\n);return;}if (!rt_strcmp(argv[1], server)){rt_kprintf(AT server!\n);}else if (!rt_strcmp(argv[1], client)){rt_kprintf(AT client!\n);}else{rt_kprintf(Please inputatcmd server|client\n);}
}MSH_CMD_EXPORT(atcmd, atcmd sample: atcmd server|client); 参考资料
RT-Thread 文档中心 msh
RT-Thread 文档中心 ulog