diff --git a/cores/esp8266/core_esp8266_wiring_digital.c b/cores/esp8266/core_esp8266_wiring_digital.c index 7dce8cb60..ea573fb7f 100644 --- a/cores/esp8266/core_esp8266_wiring_digital.c +++ b/cores/esp8266/core_esp8266_wiring_digital.c @@ -134,7 +134,7 @@ void ICACHE_RAM_ATTR interrupt_handler(void *arg) { ETS_GPIO_INTR_ENABLE(); } -extern void __attachInterrupt(uint8_t pin, voidFuncPtr userFunc, int mode) { +extern void ICACHE_RAM_ATTR __attachInterrupt(uint8_t pin, voidFuncPtr userFunc, int mode) { if(pin < 16) { interrupt_handler_t *handler = &interrupt_handlers[pin]; handler->mode = mode; @@ -146,7 +146,7 @@ extern void __attachInterrupt(uint8_t pin, voidFuncPtr userFunc, int mode) { } } -extern void __detachInterrupt(uint8_t pin) { +extern void ICACHE_RAM_ATTR __detachInterrupt(uint8_t pin) { if(pin < 16) { GPC(pin) &= ~(0xF << GPCI);//INT mode disabled GPIEC = (1 << pin); //Clear Interrupt for this pin