【发布时间】:2017-06-01 15:29:18
【问题描述】:
以下是我的程序。我正在尝试以不同的波特率读取字符,如果在 10 秒内没有收到任何字符,我想跳出循环,同样,如果收到字母以外的任何字符,我又想跳出循环?我怎样才能做到这一点。请指导我。
char read()
{
while(1)
{
delay_ms(10000);
break;
if((uart_RxChar() >= 65 && uart_RxChar() <= 90) || (uart_RxChar() >= 97 && uart_RxChar() >= 122))
{
uart_TxChar('k');
Glow_GreenLED();
}
else
{
Glow_RedLED();
break;
}
}
}
【问题讨论】:
-
我不认为
delay_ms()会帮助你等待10秒......这是一个无条件的想法......它会让你等待。 -
delay_ms() 为 doble 后中断。
-
uart_RxChar()不是标准 C 库函数。发布一些记录其功能的链接。
标签: c