質問: ~bStart; Serial.println(bStart); } void setup() { Serial.begin(115200); pinMode(intPin, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(intPin) ,changeState ,FALLING); } ```
回答: 上記のコードに、変数、loop関数を追加してそのまま動かしてみましたが、意図通りに動いてそうです。 ``` int bStart = 0; uint8_t intPin = 0; // D00 void loop() {} ``` D00とGNDをジャンパ線でつないで、bStartがトグルしてシリアルモニタに表示されています。 ここをみると、 > > ピン番号の変化に対して、チャタリング防止用にRTC(32.768kHz) 3サイクル分のノイズフィルタをもっています。 > > そのため、急峻なパルス上の信号変化に対しては割り込みを取得できないことがあります。 > > > とあるので信号変化が速いからといった理由があるのかもしれませんね。