打印
[ARM入门]

在STM32中while(!key)和while(key!=0)区别?

[复制链接]
1755|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小沐127|  楼主 | 2015-6-18 15:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟正在学STM32,我在学按键时,配置GPIO为输入上拉。然后再回读检测IO口是否为0时,顺便写了一句松手后再执行下面的程序,就是while(!key),但是程序死活不往下执行,最后改成while(key!=0)就好了。
请问大侠们这两句指令有啥区别?
while(!key)是判断程序内部执行的逻辑值,而不能用来读取判断外部输入的?
while(key!=0)是判断IO输入的值?
不理解,还望大侠解答。

相关帖子

沙发
airwill| | 2015-6-19 11:02 | 只看该作者
不知道你的 key 怎么定义的, 但不管怎么说, 这两个是不同的.

按照 C 的规则, (!key)  相当于 (key ==0),  跟 (key !=0) 当然不同! 初学者特别注意

使用特权

评论回复
板凳
renqinglei| | 2015-6-19 12:51 | 只看该作者
KEY=1时,!key 的逻辑值 0,key != 0 的逻辑值 1,不同吧

使用特权

评论回复
地板
qinweixing| | 2015-6-19 14:55 | 只看该作者
C语言基础问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

48

帖子

0

粉丝