Embedded Systems und Firmware

Bei einem Mikrocontroller mit Interrupt-Prioritäten tritt während der Ausführung des Handlers eines Interrupts niedriger Priorität ein Interrupt hoher Priorität auf. Was geschieht im Allgemeinen (bei erlaubter Interrupt-Verschachtelung)?

  1. ADer niedrige Handler wird unterbrochen und der hohe ausgeführt; nach dessen Ende wird der niedrige fortgesetzt
  2. BDer hohe Interrupt wird verworfen, bis der niedrige Handler beendet ist
  3. CBeide Handler laufen gleichzeitig parallel auf derselben CPU
Antwort und Erläuterung anzeigen

Antwort: A. Der niedrige Handler wird unterbrochen und der hohe ausgeführt; nach dessen Ende wird der niedrige fortgesetzt

Mit Interrupt-Prioritäten wird ein dringender Interrupt auch dann bearbeitet, wenn gerade ein anderer Handler läuft. Legt man z. B. die Erkennung von Motorüberstrom auf hohe und den Kommunikationsempfang auf niedrige Priorität, kann man auch während der Empfangsverarbeitung sofort auf den Überstrom reagieren. Dieser Mechanismus ist z. B. im NVIC von Arm Cortex-M vorhanden. Interrupts gleicher oder niedrigerer Priorität müssen warten, bis der aktuelle Handler beendet ist.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Embedded Systems und Firmware

  1. Welche C-Schreibweise setzt nur Bit 3 des Registers reg auf 1 und lässt die übrigen Bits unverändert?
  2. Welche C-Schreibweise setzt nur Bit 3 des Registers reg auf 0 und lässt die übrigen Bits unverändert?
  3. Das Bit eines Ausgangspins mit angeschlossener LED soll bei jeder Ausführung zwischen Ein und Aus umgeschaltet werden. Welche C-Schreibweise ist korrekt?
  4. Welche C-Bedingung prüft, ob Bit 5 des Eingaberegisters in gleich 1 ist?
  5. Der obige Code ändert ein Einstellungsfeld mit mehreren Bits des Registers reg. Was tut er?

Vergleiche zu diesem Thema