找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1349|回复: 5
打印 上一主题 下一主题
收起左侧

帮忙告知C语言while (pin_rxd);的理解问题

[复制链接]
跳转到指定楼层
楼主
ID:521921 发表于 2019-6-5 10:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大咖,

       请教个问题:如下代码中,
[font=arial,
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2019-6-5 11:44 | 只看该作者
楼主理解错误。while (pin_rxd); 如果pin_rxd为1即真,CPU什么都不干在此板等,如果pin_rxd为0即假,才执行下面语句。
回复

使用道具 举报

板凳
ID:529540 发表于 2019-6-5 11:51 | 只看该作者
额,我不知道你怎么理解的。 while();语句。括号里是1.即真就是无限循环,就是停在这了不往下走了。
是0即假就继续往下走啊。没毛病啊。
回复

使用道具 举报

地板
ID:365802 发表于 2019-6-5 12:14 | 只看该作者
Rxd 默认是有上拉电阻,(寄存器也是默认1) 即状态是1. Uart通信起始位是0, 即有数据发送过来的时候Rxd一定会先跳变为0.
回复

使用道具 举报

5#
ID:415123 发表于 2019-6-5 16:55 | 只看该作者
while (pin_rxd);是这样的,while (pin_rxd)暗藏了一个读操作,意思就是先读取pin_rxd引脚,然后判断。如果是真,也就是高电平,那么就执行“;”,也就是什么都不干,又回到while (pin_rxd)语句重新判断,当pin_rxd为0时,跳过“;”,执行下一句,也就是开始接收
回复

使用道具 举报

6#
ID:521921 发表于 2019-6-6 16:24 | 只看该作者
嗯,明白了!谢谢各位!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表