FSST - Hardwarenahe Programmierung

Aufgabe BusOut++

C++ Seite

Erweitern Sie die Klasse MyLed um die Funktion, sodass 8-Bit Werte auf die oberen 8 Leds des M0Boards geschrieben werden können:

  1. Schaltplan lesen auf welche Pins die oberen 8 Leds (nicht LED1 ... LED4) angeschlossen sind.
  2. Untersuchen der BusOut-Klasse der mbed-Bibliothek (Konstruktor)
  3. Membervariable mit Zeiger auf BusOut-Klasse erzeugen.
  4. Konstruktor der MyLed-Klasse überladen mit 8 Pins.
  5. Methode LedBusOn(...) schreiben, die einen Integer/Hex-Wert auf den Led-Bus schreibt.
  6. Instanziierung der Klasse MyLed in main()
  7. Test der Methode LedBusOn(i++);

Zusatzaufgabe 1:

  • Methode LedBusOn(...) überladen, sodass ASCII-Werte am Led-Bus angezeigt werden.
  • Methode LedBusOn(...) überladen, sodass FLOAT-Werte am Led-Bus angezeigt werden. Wie sehen diese aus?

Zusatzaufgabe 2: (Probleme bei Reset!!!)

  • Konstruktor der MyLed-Klasse überladen mit Array von Pins.
  • Anmerkung: Bei der Definition des PinName-Arrays muss als Arraygröße 16 angegeben werden obwohl nur 1 Byte benötigt wird, sonst stürtzt das Programm ab (siehe Konstruktor BusOut):

PinName pinBus[16] = {pin1, pin2, ..., pin8};

/media/uploads/fpucher/myledbusout.jpg

ad 1. /media/uploads/fpucher/m0_led_bus_pinbelegung.jpg

Lösung?

Blinky OOP


All wikipages