Welche Prioritäten haben Interrupts im ESP32?

Workman  28.05.2025, 20:21

In der IT?

UserCode 
Beitragsersteller
 28.05.2025, 20:22

Ja

2 Antworten

Der ESP32 nutzt ein Interrupt-System mit sieben Prioritätsstufen (Level 1 bis 7), wobei Level 7 die höchste ist. Level 1-3 werden meist für Systemaufgaben oder allgemeine Interrupts verwendet. Level 4 ist für hochprioritäre Anwenderaufgaben gedacht, die minimale Latenz erfordern. Level 5 wird oft für Debugging genutzt. Level 7 ist der nicht-maskierbare Interrupt (NMI), der kritischen Systemfehlern vorbehalten ist und nicht ignoriert werden kann.

Jeder der beiden CPU-Kerne des ESP32 hat eigene Interrupt-Slots, die diesen Prioritäten zugewiesen werden. Es ist wichtig, dass ISRs (Interrupt Service Routines) kurz und effizient sind, um den Programmfluss nicht zu stören.

Nicht alle Interrupts sind gleich wichtig. Der ESP32 verwendet ein Prioritätssystem für Interrupts:

  • Höhere Priorität bedeutet, dass ein Interrupt andere Interrupts unterbrechen kann.
  • Niedrigere Priorität bedeutet, dass ein Interrupt warten muss, bis höher priorisierte Interrupts abgearbeitet sind.
  • Die Priorisierung hilft, kritische Aufgaben rechtzeitig zu bearbeiten.