diff --git a/cpu/sam0_common/periph/gpio.c b/cpu/sam0_common/periph/gpio.c index a075e6a95b..e3de9c8e7a 100644 --- a/cpu/sam0_common/periph/gpio.c +++ b/cpu/sam0_common/periph/gpio.c @@ -322,6 +322,11 @@ void gpio_irq_enable(gpio_t pin) if (exti == -1) { return; } + + /* clear stale interrupt */ + _EIC->INTFLAG.reg = (1 << exti); + + /* enable interrupt */ _EIC->INTENSET.reg = (1 << exti); }