project:esp32-programming:interrupts
This is an old revision of the document!
Table of Contents
ESP32 Interrupt-Programmierung
Erkennung der Flanke
Abfrage des GPIO-Status
Ansatz: Abfrage des PINs unmittelbar nach Auslösung des Interrupts.
void IRAM_ATTR isr_handler(void* arg) {
int pinState = digitalRead(PIN);
if(pinState == HIGH) {
// steigende Flanke
} else {
// fallende Flanke
}
}
Einzelne ISRs
Ansatz: Getrennte ISRs für steigende und fallende Flanken
void IRAM_ATTR rising_isr_handler(void* arg) {
// Steigende Flanke
}
void IRAM_ATTR falling_isr_handler(void* arg) {
// Fallende Flanke
}
/*
* setup
*/
pinMode(PIN, INPUT);
attachInterrupt(PIN, rising_isr_handler, RISING);
attachInterrupt(PIN, falling_isr_handler, FALLING);
project/esp32-programming/interrupts.1698923844.txt.gz · Last modified: 2023/11/02 12:17 by 78.43.125.127