FSST - Hardwarenahe Programmierung

Aufgaben Klassen mit Interrupt

Interrupt

Schreiben Sie für die folgenden Klassen ein entsprechendes Testprogramm und laden Sie die ausführbare bin-Datei auf das M3-Board.

  1. Übernehmen Sie das Interrupt Beispiel in den mbed-Compiler (für SW2 verwenden Sie p14 des Joy-Stick Pins) und vergleichen die Klasse mit der Klasse für DigitalOut. Zeichnen Sie ein entsprechendes UML-Klassendiagramm für die counter-Klasse.
  2. Schreiben Sie aufbauend auf obige counter-Klasse eine Klasse SwEvent, die in der ISR eine private Elementvariable _pressed setzt. Eine public Elementfunktion checkFlag() soll den Wert von _pressed zurück geben und die Elementvariable löschen, damit der nächste Tastendruck erkannt werden kann. Zeichnen Sie ein entsprechendes UML-Klassendiagramm. Lösung SwEvent
  3. Schreiben Sie obige SwEvent Klasse als Vergleich IsAnEvent Klasse , wobei Sie mittels Vererbung von der InterruptIn-Klasse ableiten wie in IsA und zeichnen Sie wieder ein UML-Klassendiagramm.

/media/uploads/fpucher/swevent.jpg

4. Schreiben Sie eine Klasse ButtonEventUpDown, die entsprechend der beiden Joy-Stick Pins Up und Down einen Zähler hoch bzw. herunterzählt. Der Wert des Zählers soll auf die serielle Schnittstelle und/oder auf die vier LEDs (Achtung Überlauf) ausgegeben werden. Zeichnen Sie ein entsprechendes UML-Klassendiagramm.


All wikipages