单片机c语言中P3=P3|0x3c是什么意思?具体点,尤其是“|”这个符号


具体点
“|”是一个按位或逻辑运算符。
P3=P3|0x3c 就是将P3口按位和0x3c逻亏悉辑或一遍,然后将得到的值赋给P3。
例:
//假设
P3 = 0XC3;//(11000011)
//执行
P3=P3|0x3c;//(此带11000011 或 00111100)
//所以 P3 = 0XFF;(11111111)
/森空芦/P3口全部输出高电平
“|”是或运算符,当P3=P3|0x3c算出来时闷桥早,有消前一个是蚂雀符合条件的返回给你的就是1/true,反而易知。
看看C语言的按位运算符吧
&位逻辑“与”
|位逻辑“或”
^位逻辑“异或”
~位逻辑“非”
>>位哪高胡逻辑“右移”
<<位逻辑“左移”

如P3=0xf1(11110001)
那李拦么P3|0x3C(00111100)念咐为
11110001
00111100 or
---------------
11111101

如P3=0xf1(11110001)
那么P3&0x3C(00111100)为
11110001
00111100 and
---------------
00110000
这个是或运算符吧。P3的值与0x3C(00111100)或一下,有1出1,全0出0。
看看C语言的按位运算符吧
&位逻辑“与”
|位逻辑“消轮或”
^位逻辑“异或”
~位逻辑“非”
>>位逻辑“右移拿卜信”弊世
<<位逻辑“左移”
如P3=0xf1(11110001)
那么P3|0x3C(00111100)为
11110001
00111100
or
---------------
11111101
如P3=0xf1(11110001)
那么P3&0x3C(00111100)为
11110001
00111100
and
---------------
00110000