En las interrupciones no es necesario colocar en qué estado se requiere la activación.
**Todos los pines de la ESP32 pueden ser configurados como pines de interrupción Externa.
FUNCIÓN PARA DECLARAR UNA INTERRUPCIÓN**
attachInterrupt(digitalPinToInterrupt(GPIO), function, Mode);
function: Se coloca la función que se ejecutará cuando se active la interrupción.
Mode:
- LOW: Activa la interrupción siempre y cuando el pin esté en estado bajo.
- HIGH: Activa la interrupción siempre y cuando el pin esté en estado alto.
- CHANGE: Activa la interrupción siempre y cuando el pin cambie de valor (De bajo a alto o viceversa)
- FALLING: Cuando el pin va de HIGH a LOW
- RISING: Cuando el pin va de LOW a HIGH
FUNCIÓN DE LA INTERRUPCIÓN
void IRAM_ATTR nombre_funcion() {
//Código de Interrupción
}
FUNCIÓN PARA DESCONECTAR INTERRUPCIÓN DE UN PIN (opcional)
detachInterrupt(GPIOPin);
//COLOCAR CÓDIGO BASE DE EJEMPLO
ESP32 Arduino: interrupciones Timer – Electrogeek (electrogeekshop.com)