Was bedeutet IRAM_ATTR bei Interrupt-Funktionen auf dem ESP32?
Im Codebeispiel seht ihr vor der Interrupt-Funktion den Zusatz IRAM_ATTR:
void IRAM_ATTR handleButtonPress() {
// Funktionsinhalt
}
Ich frage mich, was IRAM_ATTR bedeutet?
1 Antwort
Vom Beitragsersteller als hilfreich ausgezeichnet
IRAM_ATTR ist eine spezielle Anweisung für den ESP32. Sie weist den Compiler an, diese Funktion im schnellen internen RAM (IRAM) zu platzieren, anstatt im langsameren Flash-Speicher. Dies ist wichtig für Interrupt Service Routinen (ISRs), da sie so schnell wie möglich ausgeführt werden müssen.
Durch die Platzierung im IRAM wird sichergestellt, dass die Interrupt-Funktion ohne Verzögerung ausgeführt werden kann, was für die Echtzeitreaktion auf Ereignisse entscheidend ist.