求助各位大大,怎么给Uartget函数加上类似DOS的命令行功能
[复制链接]
- int uartGets(char *s, int size)
{ char c; int n = 0;
*s = '\0'; if (size < 2) return(0); size--;
for (;;) { c = uartGetc(); uartPutc(c);
if (c == '\b') { if (n > 0) { *(--s) = '\0'; n--; uartPuts(" \b");
}
}
if (c == '\r') { uartPuts("\r\n"); break; }
if (n < size) { if (isprint(c)) { *(s++) = c; *s = '\0'; n++; } } }
return(n); }
复制代码
我的开发板是LM3S2965,现在正在做一个通过uart口修改寄存器的小项目,遇到一个C语言方面的问题:怎么给uart超级终端界面下的命令行添加一些按键规则,比如退格键不能删除自带的提示语,按“上”键回显上一条指令,光标在命令最右端就无法再向右移动等。数据结构学的太差,听同学说要用堆栈,不会用啊~~~求助各位大大~~
|