标题: 帮忙告知C语言while (pin_rxd);的理解问题 [打印本页]

作者: WGL88    时间: 2019-6-5 10:57
标题: 帮忙告知C语言while (pin_rxd);的理解问题
各位大咖,

       请教个问题:如下代码中,
[font=arial,
作者: wulin    时间: 2019-6-5 11:44
楼主理解错误。while (pin_rxd); 如果pin_rxd为1即真,CPU什么都不干在此板等,如果pin_rxd为0即假,才执行下面语句。
作者: ccdmcu    时间: 2019-6-5 11:51
额,我不知道你怎么理解的。 while();语句。括号里是1.即真就是无限循环,就是停在这了不往下走了。
是0即假就继续往下走啊。没毛病啊。

作者: ping264888    时间: 2019-6-5 12:14
Rxd 默认是有上拉电阻,(寄存器也是默认1) 即状态是1. Uart通信起始位是0, 即有数据发送过来的时候Rxd一定会先跳变为0.
作者: honey_teck    时间: 2019-6-5 16:55
while (pin_rxd);是这样的,while (pin_rxd)暗藏了一个读操作,意思就是先读取pin_rxd引脚,然后判断。如果是真,也就是高电平,那么就执行“;”,也就是什么都不干,又回到while (pin_rxd)语句重新判断,当pin_rxd为0时,跳过“;”,执行下一句,也就是开始接收
作者: WGL88    时间: 2019-6-6 16:24
嗯,明白了!谢谢各位!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1