|
|
&是按位与(双目运算符,需要2个操作数)
( |; C* f0 t; |( V* ^/ M|是按位或(双目运算符)
/ S* y- i6 X: C0 O1 S3 ~~是按位非(单目运算符)
0 W, ]0 ?$ D7 `) c1&0=0, 0&1=0, 0&0=0, 1&1=1# p, D1 j8 }3 F- n
1|0=1, 0|1=1, 0|0=0, 1|1=1
' C9 p$ n6 \" D/ i# w~1=0,~0=1( Z7 h! v8 O: b( Q# a
a|=b等价于a=a|b;$ M) `& J3 h4 g# _6 E% }
同理a&=b等价于a=a&b4 F9 I$ U# s/ f6 R# K
所以rINTPND |=BIT_UART0;等价于rINTPND=rINTPND | BIT_UART0: l5 w p6 v3 V8 c% ~% u
rINTSUBMSK &= ~BIT_SUB_RXD0等价于rINTSUBMSK = rINTSUBMSK &(~BIT_SUB_RXD0)
: f4 @7 B& d- G5 R按位运算就是运算的时候先将操作数换算成二进制数来进行计算
% Z4 O$ J+ r& v: D4 T' F+ p譬如3 & 5就是011 & 101=001) i: i: t$ D9 _, Y% j
|
|