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 コンパイラの演算子の意味は何ですか?