diff --git a/cores/arduino/WInterrupts.c b/cores/arduino/WInterrupts.c index 2936452d7770704fab0a33ce64df4a88448096b5..a1f1de9e29df8a977a87ea0f4d712b08bfa8d318 100644 --- a/cores/arduino/WInterrupts.c +++ b/cores/arduino/WInterrupts.c @@ -66,6 +66,9 @@ void attachInterrupt(uint32_t pin, voidFuncPtr callback, uint32_t mode) enabled = 1; } + // Enable wakeup capability on pin in case being used during sleep + EIC->WAKEUP.reg |= (1 << in); + // Assign pin to EIC pinPeripheral(pin, PIO_EXTINT); @@ -118,6 +121,9 @@ void detachInterrupt(uint32_t pin) return; EIC->INTENCLR.reg = EIC_INTENCLR_EXTINT(1 << in); + + // Disable wakeup capability on pin during sleep + EIC->WAKEUP.reg &= ~(1 << in); } /*