mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-21 21:22:31 +03:00
save 192 RAM bytes when attachInterrupt unused (#4601)
This commit is contained in:
@ -161,6 +161,7 @@ extern void ICACHE_RAM_ATTR __attachInterruptArg(uint8_t pin, voidFuncPtr userFu
|
|||||||
GPC(pin) &= ~(0xF << GPCI);//INT mode disabled
|
GPC(pin) &= ~(0xF << GPCI);//INT mode disabled
|
||||||
GPIEC = (1 << pin); //Clear Interrupt for this pin
|
GPIEC = (1 << pin); //Clear Interrupt for this pin
|
||||||
GPC(pin) |= ((mode & 0xF) << GPCI);//INT mode "mode"
|
GPC(pin) |= ((mode & 0xF) << GPCI);//INT mode "mode"
|
||||||
|
ETS_GPIO_INTR_ATTACH(interrupt_handler, &interrupt_reg);
|
||||||
ETS_GPIO_INTR_ENABLE();
|
ETS_GPIO_INTR_ENABLE();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -180,7 +181,8 @@ extern void ICACHE_RAM_ATTR __detachInterrupt(uint8_t pin) {
|
|||||||
handler->mode = 0;
|
handler->mode = 0;
|
||||||
handler->fn = 0;
|
handler->fn = 0;
|
||||||
handler->arg = 0;
|
handler->arg = 0;
|
||||||
ETS_GPIO_INTR_ENABLE();
|
if (interrupt_reg)
|
||||||
|
ETS_GPIO_INTR_ENABLE();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -197,9 +199,6 @@ void initPins() {
|
|||||||
for (int i = 12; i <= 16; ++i) {
|
for (int i = 12; i <= 16; ++i) {
|
||||||
pinMode(i, INPUT);
|
pinMode(i, INPUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
ETS_GPIO_INTR_ATTACH(interrupt_handler, &interrupt_reg);
|
|
||||||
ETS_GPIO_INTR_ENABLE();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void pinMode(uint8_t pin, uint8_t mode) __attribute__ ((weak, alias("__pinMode")));
|
extern void pinMode(uint8_t pin, uint8_t mode) __attribute__ ((weak, alias("__pinMode")));
|
||||||
|
Reference in New Issue
Block a user