我正在使用 Keil uVision 4 进行编程。
我有一些这样的代码:
sbit X = P3 ^ 3; // X is third bit of P3 register
...
while (1) {
X = !X; // X equals not X ?!
if (X == 0)
printf("0");
else
printf("1");
}
我可以控制`P3^3
通用输入引脚,因为在这个引脚上我有一个 PIR(脉冲红外传感器)。它在闪烁时给我 1 在那条线上,在它睡觉时给我 0。
当P3^3
被上拉到 时1
,输出为(如预期的那样)10101010101010..
当它仍然为0时,输出为(如预期的那样)0000000000000..
我得到的行为是我上面描述的,考虑到这sbit X
是由 PIR 设置/取消设置的。
那么问题来了,!
Keil C51编译器中的操作符是什么意思呢?