本文介绍:基于babyos 使用shell 功能;
准备
可以参照之前的文章,你的MCU平台可以正常运行bos 与 log 功能;
正文
1:b_config 文件配置
参数默认
2:注册回调接口
bSHELL_REG_INSTANCE("excitation", _CmdExcIndHandler);
3:串口空闲终端调用解码接口
static void _UartIdleHandler(uint8_t *pbuf,uint16_t len)
{
bProtocolParse(pbuf, len);
bShellParse(pbuf, len);
}
4:初始化
bShellInit();
应用代码
void _CmdExcIndHandler(char argc, char *argv)
{
unsigned char x = 0, y = 0;
if (argc == 3)
{
x = atoi(&argv[argv[1]]);
y = atoi(&argv[argv[2]]);
Tim1_CC1_init((u16)(72000000 / 1000000 - 1), x);
TIM_SetCompare1(TIM1, y);
}
}
使用说明:
例如,发送: excitation 20 15
这时argc = 3; argv 指向你发送的这个字符串,&argv[argv[1] = 20,&argv[argv[2] = 15;
总结
shell 可以帮我我们在测试中提高效率,不用每次修改一个参数就重新编译代码,下载;