Kapitel 5. Unterbrechungen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Unterbrechungen können beängstigend sein. Sie sind eines der Dinge, die eingebettete Systeme von herkömmlicher Anwendungssoftware unterscheiden. Interrupts tauchen aus dem Nichts auf und verändern den Codefluss. Sie können nur bestimmte Funktionen sicher aufrufen (und normalerweise nicht die Debug-Funktionen). Interrupts müssen schnell sein, so schnell, dass sie ein Teil des Codes sind, der gelegentlich noch in Assembler geschrieben wird. Und Fehler in Interrupts sind oft ziemlich schwer zu finden, weil sie per Definition asynchron auftreten (außerhalb des normalen Ausführungsflusses).

Unterbrechungen sind jedoch nicht die Schreckgespenster, für die sie gehalten werden. Wenn du verstehst, was passiert, wenn eine Unterbrechung auftritt, wirst du herausfinden, wo sie ein nützlicher Teil deines Softwaredesigns sein kann.

Ein Huhn drückt einen Knopf

Betrachte Unterbrechungen als eine Rube-Goldberg-Maschine1 mit dem Ziel, deiner Software mitzuteilen, dass etwas außerhalb des normalen Codeflusses passiert ist. Betrachten wir das Huhn in Abbildung 5-1.

Abbildung 5-1. Ein Huhn drückt einen Knopf, was zu einer Kaskade von Aktionen führt, die mit dem Code in der Ereignisschleife endet, der eine Aktion ausführt

Das Huhn drückt einen ...

Get Herstellung eingebetteter Systeme, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.