0
我需要在樹莓派寫UART終端。這個想法是按鍵盤上的鍵連接到我的樹莓並通過UART發送,然後打印通過UART接收的樹莓。樹莓派回聲在getchar()
問題是在覆盆子pi回聲。我不需要這個,但我不知道如何禁用它。我使用這個功能:
int kbhit(void)
{
struct termios oldt, newt;
int ch;
int oldf;
tcgetattr(STDIN_FILENO, &oldt);
newt = oldt;
newt.c_lflag &= ~(ICANON | ECHO);
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
oldf = fcntl(STDIN_FILENO, F_GETFL, 0);
fcntl(STDIN_FILENO, F_SETFL, oldf | O_NONBLOCK);
ch = getchar();
tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
fcntl(STDIN_FILENO, F_SETFL, oldf);
if(ch != EOF)
{
return ch;
}
return 0;
}
有時候沒有回聲。
比如我輸入的是:ABCDEFGH
但程序返回我:abbccddeefghh