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