我正在尝试创建一种“优雅”的方式来实时显示用户输入自定义内核的内容,对于 68hc12,我正在努力。
#include "hc12sci.h"
#include "iomanip.h"
int main()
{
Hc12Sci hc12sci(sci0,16,36); // serial port, rxlen, txlen
ostream os(&hc12sci);
istream is(&hc12sci);
char cmd[16];
char c;
os << "hello world!" << endl;
while(1)
{
for(int i = 0; i<=15; i++)
{
is >> c
cmd[i] = c;
os << c << flush;
if(c == '\r') // test for carriage return
os << cmd << endl;
}
os << endl;
}
return 0;
我敢肯定,在许多问题中,它似乎永远不会输入回车 if 语句。我正在 Ubuntu 中构建它,尽管我对 if 语句做错了什么?如果您需要其他信息,请告诉我。谢谢。
我看到的第一个问题是您正在检查回车。 Ubuntu/Unix 不使用回车作为行尾。它改为使用换行符:'\n' (0x0A)。
所以试着把它改成这样:
if ( c == '\n')
我是一名优秀的程序员,十分优秀!