工具/软件:TI C/C++编译器
我使用的是CCS 7.0 0/0和 TI 6.2 .1709编译器。在以下代码中,语句“while (ReceivedChar ==0);”使程序始终 保持在此处,即使ReceivedChar从串行端口中断获得非零值,也无法继续,当我在表达式监视窗口中暂停程序时, 我可以看到变量“Receivedchar”有一个非零值,它与 从串行端口接收的字符的值相匹配,但程序不能跳过这一while循环。如果我将此while语句更改为“if (Receivedchar !=0)",程序工作正常。 我不知道为什么,感谢您的帮助
对于(;;)
{
//等待inc字符
while (ReceivedChar ==0);
//获取字符
//ReceivedChar = SciaRegs.SCIRXBUF.ALL;
{
//回显字符
MSG ="您已发送:\0";
scia_msg (msg);
scia_xmit (ReceivedChar);
ReceivedChar =0;
MSG ="\r\n输入一个字符:\0";
scia_msg (msg);
}
LoopCount++;
}