FSST - Hardwarenahe Programmierung

Aufgabe BusOut

Inhalt

Schreiben Sie ein Programm mit Funktionen, sodass 8-Bit Werte auf die oberen 8 Leds des M0Boards (4-Bit Werte auf die 4 Leds des M3Boards) geschrieben werden können:

  1. Beim M0Board den Schaltplan lesen auf welche Pins die oberen 8 Leds (nicht LED1 ... LED4) angeschlossen sind.
  2. Untersuchen der BusOut-Klasse der mbed-Bibliothek (Konstruktor)
  3. Globale BusOut-Variable erzeugen.
  4. Funktion LedBusOn(...) schreiben, die einen Integer/Hex-Wert auf den Led-Bus schreibt.
  5. Test der Funktion LedBusOn(i++);

Zusatzaufgabe 1:

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

Zusatzaufgabe 2: (Probleme bei Reset!!!)

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

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

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

Inhalt


All wikipages