MKR 1010 Wifi External Interrupt does not fire

Hey all.

i am struggling around with an external interrupt on the MKR 1010 Wifi.
I have connected a magnetic switch from a rain gauge to PIN 0 which should trigger an interrupt on rising. I tested the magnetic switch with the multimeter and get a "peep" on switch closed.

So i took a simple example code to test the interrupt (in this case with CHANGE):

// Setze den Pin für die LED auf intern
    const byte ledPin = LED_BUILTIN;
    // Setze den Interruptpin auf 2
    const byte interruptPin = 0;
    // Definiere eine globale volatile Variable für den Status der LED
    volatile byte state = LOW;

    void setup() {
      Serial.begin(115200);
      // Lege den Pin für die LED als Outputpin fest
      pinMode(LED_BUILTIN, OUTPUT);
      // Lege den Interruptpin als Inputpin mit Pullupwiderstand fest
      pinMode(interruptPin, INPUT_PULLUP);
      // Lege die ISR 'blink' auf den Interruptpin mit Modus 'CHANGE':
      // "Bei wechselnder Flanke auf dem Interruptpin" --> "Führe die ISR aus"
      attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);
    }

    void loop() {
      // Schreibe den Status der LED auf den LED-Pin zurück:
      // "Schalte die LED an oder aus"
      digitalWrite(LED_BUILTIN, state);
      Serial.println(state);
    }

    void blink() {
      // Invertiere den Status: "Lass die LED blinken von HIGH auf LOW/ an auf aus"
      state = !state;
    }

But neither the LED goes HIGH nor the state become 1.
Why is my interrupt not fired?

Additional Information: I am using the 3.3V power source

Many thanks
Georg

Found the error: There was a fault magnetic switch.

1 Like