Nutzung der Interrupts
Ziel
Sie verstehen das Konzept der Interrupts am MC und können externe Interrupts für eigene Zwecke nutzen.
Überblick
Der Arduino Uno unterstützt nur die Pins 2 und 3 für externe Interrupts.
In der Interrupt-Serviceroutine sind einige Funktionen nicht erlaubt (millis, delay).
Austauschvariablen mit Hauptprogramm als volatile
deklarieren.
Arduino-Funktionen:
- attachInterrupt(interrupt/pin, ISR, mode)
- digitalPinToInterrupt(pin)
- detachInterrupt(interrupt/pin)
- interrupt()
- nointerrupt()
Verständnisfragen
- Was sind Interrupts bei MC?
- Welche Interruptquellen werden beim Arduino UNO unterstützt?
- Welche Interruptarten werden unterstützt?
- Was ist bei der Nutzung von Interruptserviceroutinen zu beachten?
- Wie erfolgt die Synchronisation mit dem Hauptprogramm?
- Wozu sind die Funktionen
attachInterrupt
unddigitalPinToInterrupt
? - Wie können Interrupts gesperrt und freigegeben werden? Wozu könnte dies notwendig sein?
- Wie können einzelne Interruptquellen deaktiviert werden?
Aufgaben
- Programmieren Sie einen Interrupthandler für den Taster an Port 2, welcher die LED abwechselnd an- und ausschaltet. Im Hauptprogramm soll alle 1s ein inkrementierter Zahlenwert über sie serielle Schnittstelle ausgegeben werden und zusätzlich der Zustand der LED.
Ressourcen
Letzte Änderung: 26. March 2025 19:33