微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 程序中if(P1&0x01)怎么理解?

程序中if(P1&0x01)怎么理解?

时间:10-02 整理:3721RD 点击:



if(x>y)或者if(a==6)像这种条件语句很好理解,但问题是如图所示的if(P1&0x01)怎么理解?
这条语句只是P1和0x01求与,但没有说两者求与之后要满足什么条件?各位大神指点下。

举例,如果P1_0=1,则P1&0X01=1, 等效于if(1),此处注意非0即1;同理,如果P1_0=0,则等效于if(0),不执行下面的语句.此句与WHILE句一起,模拟了一个触发的行为。

谢谢你的解答,多交流

完全正确

弱弱问句,要是程序是   if(P1&0x80)   这个又怎么算啊

最高位要为一的话 if(真)执行里面的。为其他的,就跳过if

楼上回答很清楚了,这个主要用来判断对应位是否为1

楼上各位高手解答非常perfect

长见识了

就是判断p1_7了

楼上的答案都很正确啊

好好学习天天向上谢谢lz

xiexie受教了,谢谢啦。

抱歉挖坟,
要是程序是   if(P1&0x80)   这个又怎么算啊
这个为什么判断的是P1^7呢,我认为这个是判断P1^6的。

P1端口是P1^0-P1^7,0x80是16进制数,换算成2进制数是10000000,最高位是1,那么就应该是P1^7

举例,如果P1_7=1,则P1&0X80=1, 等效于if(1),此处注意非0即1;同理,如果P1_7=0,则等效于if(0),不执行下面的语句.此句与WHILE句一起,模拟了一个触发的行为。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top