Gruppe MR, Interaktive Übungen zu Foliensatz 9

Experiment mit Interrupts (P09\F9-test_interrupt\test_interrupt)

Hardware-Konfiguration

LED-Modul Pmod8LD an Stecker JC.

Programmdatei

test_interrupt.c

Das Experiment verlangt ein LED-Modul an am Stecker JC. Timer 3 erzeugt alle 0,5 s einen Vergleichsinterrupt A und Timer 1 alle 8 s ein Überlaufsinterrupt. Die On-Board-LED LD1 bis LD8 werden in der Interruptroutine des Vergleichinterrupts von Timer 3 und die LEDs an JC bei jedem Neustart hochgezählt. In der Grundversion ist zu erkennen, dass alle 0,5s die ISR aufgerufen wird und alle 8s das Programm neu startet. Im zweiten Versuch wird der Neustart durch den nicht behandelten Timer-1-Überlauf mit einer "Bad_ISR" unterbunden. Wenn das Kommentarzeichen vor der Anweisung zur Invertierung der Ausgabe an LD8 gelöscht wird, wird das Blinken ungleichmäßig. Die Unregelmäßigkeit verschwinden, wenn während der Invertierung von LD8 die Unterbrechung durch die ISR unterbunden wird.