project:esp32-programming:interrupts
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.txt · Last modified: 2023/11/02 12:17 by 78.43.125.127