diff options
-rw-r--r-- | cc3200/mods/pybpin.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/cc3200/mods/pybpin.c b/cc3200/mods/pybpin.c index 71799643c5..04825d52b8 100644 --- a/cc3200/mods/pybpin.c +++ b/cc3200/mods/pybpin.c @@ -331,11 +331,15 @@ STATIC void pin_extint_enable (mp_obj_t self_in) { MAP_PRCMHibernateWakeupSourceDisable(hib_pin); } } - // if idx is invalid, the the pin supports active_idle interrupts for sure + // if idx is invalid, the the pin supports active interrupts for sure if (idx >= PYBPIN_NUM_WAKE_PINS || pybpin_wake_pin[idx].active) { MAP_GPIOIntClear(self->port, self->bit); MAP_GPIOIntEnable(self->port, self->bit); } + // in case in was enabled before + else if (idx < PYBPIN_NUM_WAKE_PINS && !pybpin_wake_pin[idx].active) { + MAP_GPIOIntDisable(self->port, self->bit); + } } STATIC void pin_extint_disable (mp_obj_t self_in) { |