首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

串口读写时遇到一个很奇怪的有关问题

2012-11-09 
串口读写时遇到一个很奇怪的问题第一段代码没有问题,发送一个字符,回馈一个字符:Assembly codeif(rUTRSTAT

串口读写时遇到一个很奇怪的问题
第一段代码没有问题,发送一个字符,回馈一个字符:

Assembly code
if(rUTRSTAT0 & 0x1)            c = (unsigned char)rURXH0;            while(rUTRSTAT0 & 0x4 == 0);            rUTXH0 = c;        }

第二段代码就有问题了,同样一个意思,发送一个字符,不停地回馈这个字符:
Assembly code
while(rUTRSTAT0 & 0x1 == 0);            c = (unsigned char)rURXH0;            while(rUTRSTAT0 & 0x4 == 0);            rUTXH0 = c;

或者这样也是一样的:
Assembly code
if(rUTRSTAT0 & 0x1 == 0) continue;            c = (unsigned char)rURXH0;            while(rUTRSTAT0 & 0x4 == 0);            rUTXH0 = c;

求解释啊!!!

[解决办法]
&操作符请用括号,看C语言语法

0x01==0永远是FALSE,因此永远也进不了循环
[解决办法]
探讨
&操作符请用括号,看C语言语法

0x01==0永远是FALSE,因此永远也进不了循环

[解决办法]
遇到不却动优先级的时候,我都是加括号()。

热点排行