弱弱问一个问题

[复制链接]
 楼主| winjoy 发表于 2009-5-23 15:38 | 显示全部楼层 |阅读模式
刚学单片机,看一个程序,有个语句while(!(p2&0x02));不得其解,求各位大大给解释一下
ningling_21 发表于 2009-5-23 16:31 | 显示全部楼层

不知道对不对

当P2口等于0Xfd的时候一直等待,直到不相等为止
mohanwei 发表于 2009-5-23 16:38 | 显示全部楼层

等待P2.2变为1(如果你敲错的话)

如果没敲错,等待变量p2的bit2变为1
wkgong 发表于 2009-5-24 12:07 | 显示全部楼层

回复

当P2.1=0,即P2=FD时,P2和0X02相与为0(假),再进行逻辑非运算,即为1(真).则执行while循环内的语句.否则为假,就不执行while循环内语句。
ayb_ice 发表于 2009-5-24 18:30 | 显示全部楼层

等效于while(p2 & 0x02 == 0);

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

本版积分规则

3

主题

11

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

3

主题

11

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部