msp430单片机编程中 ^= ,&=~, |= 是什么意思

2024-12-17 02:29:48
推荐回答(3个)
回答1:

P1OUT |= 0X01;//就是P1.0至高

P1OUT ^= 0X01;//就是P1.0取反

P1OUT &= ~0X01;//就是P1.0至低

msp430不再像51那样可以bit定义了。所以都是按位操作的,这个你以后熟悉了就慢慢的会懂的。

我也是这么过来的。

推荐你看一本书。《MSP430系列16位超低功耗单片机原理与实践》作  者:沈建华,杨艳琴出 版 社:北京航空航天大学出版社

回答2:

举个例子
P4OUT &= ~BIT0等效于P4OUT = P4OUT ^ (~BIT0); 按位与
同样
P4OUT ^= ~BIT0等效于P4OUT = P4OUT ^ (~BIT0); 按位异或
P4OUT |= ~BIT0等效于P4OUT = P4OUT | (~BIT0); 按位或

比如原来P4输出为0000 1111即P4OUT=0x0F
经过P4OUT &= ~BIT0
BIT0=0000 0001 取反~BIT0=1111 1110

0000 1111 & 1111 1110
结果为0000 1110 即P4OUT = 0x0E;
这样P4的其它IO口输出状态不变只改变了P4的BIT0为低

回答3:

A^=B相当于A=A^B; 其中^是异或操作符,意思是相同为假,不同为真。
A&=~B相当于A=A&(~B),其中~表示取反。
A|=B 相当于A=A|B,其中|表示或