移植
1.下载源码
git clone git@github.com:Nrusher/nr_micro_shell.git
2.将c文件和头文件复制到项目中,并包含相应的头文件路径
3.修改nr_micro_shell_config.h
//屏蔽rt-theard注释
#ifndef NR_MICRO_SHELL_SIMULATOR
//#include <rtconfig.h>
//#include <rtthread.h>
//修改shell的输出接口
/* If you use RTOS, you may need to do some special processing for printf(). */
#define shell_printf(fmt, args...) printf(fmt, ##args);
#define ansi_show_char(x) SEGGER_RTT_PutChar(0, x);//putchar(x)
4.获取输入
//采用JLINK RTT输入,在main函数或者任务中周期调用以下代码
int key = SEGGER_RTT_GetKey();
if(key >= 0)
{
shell((char)key);
}
问题
编译源码有警告,主要是因为数组下标为有符号char,强制转形为unsigned char即可。
warn:array subscript has type 'char' [-Wchar-subscripts]
//其中一处修改为这样
if (fp == NULL)
{
if (isalpha((unsigned char)str[0]))
{
shell_printf("no command named: %s"NR_SHELL_NEXT_LINE, token);
}
}
简述
移植
d named: %s"NR_SHELL_NEXT_LINE, token);
}
}