Interrupt

Mikrocontroller-Programmierung: Wiederholung und Übungsaufgaben

Wiederholung und Übungsaufgaben zur Mikrocontroller-Programmierung in C – von Datentypen und Bitoperationen über Port-Register, Schleifen, PAP und Struktogramm bis zu Interrupts, Zustandsautomat und Fehlersuche. Du rechnest mit Datentypen und Bitmasken, führst Schreibtischtests durch, setzt einen Programmablaufplan und ein Struktogramm in C um, ergänzt den Zustandsautomaten einer Torsteuerung und findest fünf Fehler in einem kurzen Programm. Zu jeder der 19 Aufgaben lässt sich eine Beispiellösung einblenden.

Übungsaufgaben zu Interrupts auf dem Mikrocontroller

Zwei Übungsaufgaben zu Interrupts auf Mikrocontrollern: Im Programm für den Durchflusssensor einer Bewässerung findest Du die Verstöße gegen die Regeln für Interrupt-Service-Routinen, beschreibst ihre Folgen und korrigierst das Programm. Für den Tacho eines Lastenrads berechnest Du Geschwindigkeit, Impulsabstand und Auflösung aus gezählten Impulsen und programmierst die Messung mit einem Interrupt. Zu jeder Teilaufgabe lässt sich eine Beispiellösung einblenden.

Interrupts auf dem Mikrocontroller: Polling oder Interrupt, attachInterrupt(), Regeln für die ISR und Timer-Interrupts

Was eine signalgesteuerte Programmunterbrechung ist, warum ein Interrupt kurze Ereignisse zuverlässiger erfasst als ständiges Abfragen (Polling) und was zwischen Anforderung und Rücksprung passiert. Danach setzt Du Interrupts mit attachInterrupt() ein: für einen Stopp-Taster, einen Impulszähler für die Raddrehzahl und einen entprellten Taster. Du lernst die Regeln für die Interrupt-Service-Routine (kurz, kein delay() und kein Serial, volatile, atomarer Zugriff, IRAM_ATTR) und lässt eine LED per Timer-Interrupt blinken. Für ESP32-C6, ESP32, ESP8266 (NodeMCU) und Arduino Uno.