P0SEL &= ~0x01;
P0SEL |= 0x01;
第一个是将最低位置为0,第二个是将最低位置为1。
为什么不直接赋值呢?就像P0SEL = 0xfe,P0SEL = 0x01一样。
因为上述做法有可能不小心改变其它位的状态。
例如:
P0SEL的值为1010 1010
如果 P0SEL = 0x01, P0SEL的值为0000 0001,
如果 P0SEL |= 0x01, P0SEL的值为1010 1011。(仅仅将最低位置为1)
如果 P0SEL = 0xfe, P0SEL的值为1111 1110,
如果 P0SEL&=~0x01, P0SEL的值为1010 1010,(仅仅将最低位置为0)
时间: 2024-11-03 04:45:54