Das einzeln Gelernte zusammen anwenden

  • Grundgerüst
  • einfache Digital In/Out
  • Button LED
  • UART
  • ADC
  • PWM
  • SystemTick
  • Timer
  • ext.INT

Die Aufgabe

  • Funktionstaste und StatusLED
    • Klick …
    • Halten …
    • einschalten und aus 3 Betriebsmodi auswählen.
    • aus, eco (slow blink) , normal (blink 3), full speed (flicker)
  • Notschalter und Speaker
    • Interrupt fallende Flanke
    • Speaker Signalton xxx Hz mit Timer
    • nach 2 Sekunden Alarmton abschalten
  • Lichtsensor und BackLight
  • UART Systemstatus zusammengefasst senden

Wenn Sie noch ein Klassendiagramm geöffnet haben wählen Sie im Kontextmenü (rechte Maustaste) des Diagramms den Menüpunkt „nach oben“. Falls das Projekt nicht mehr geöffnet ist, öffenen sie das SiSy UML-Projekt wieder. Führen Sie folgende Vorbereitungsarbeiten durch:

  • neues Klassendiagramm anlegen
  • Zielsprache ARM C++
  • Zielplattform STM32F042 mySTM32 Board light HAL
  • Diagrammvorlage Application Grundgerüst für PEC Anwendungen (XMC, STM32, AVR) laden
  • Treiberpaket für STM32F0 zuweisen
  • optional Template stm32F042_48Mhz zuweisem

MERKE: … = …

Die Realisierung sollte die im obigen Grobentwurf beschriebenen Elemente beinhalten. Zusätzlich muss

Controller::onWork():void
// continuous event from the Mainloop
// WENN Funktionstaste gedrückt DANN
//      AnzeigeLED an
// SONST
//      AnzeigeLED aus

Übersetzen Sie das Programm. Korrigieren Sie ggf. Schreibfehler. Übertragen Sie das lauffähige Programm in den Programmspeicher des Controllers.

  1. Erstellen (Kompilieren und Linken)
  2. Brennen
  3. verbinden Sie Pin B0 mit der roten LED und die Taste mit Pin A0

Videozusammenfassung

Erlernte und gefestigte Arbeitsschritte:

  1. Klassendiagramm anlegen und öffnen
  2. Diagrammvorlage für PEC Applikation auswählen, laden und Treiberpaket für STM32F0 einfügen
  3. im Explorer PEC-Bausteine aus der Bibliothek suchen
  4. gewünschte Bibliotheksbausteine und ins Diagramm ziehen
  5. Klassen verbinden (Aggregation, Realisierung)
  6. den nötigen Quellcode in den Operationen erstellen
  7. Erstellen und Brennen einer STM32 Applikation im Klassendiagramm

Und weil es so schön war hier das Ganze noch mal als Video.

oder die schnelle Version ohne Sprachkommentare

Übung

Erweitern Sie zur Übung die Anwendung um eine weitere Taste an Pin A1. Orientieren sie sich an den obigen Arbeitsschritten. Die Erweiterung der Lösung soll folgende Anforderungen erfüllen:

  • wenn die Funktionstaste gedrückt ist soll die Anzeige-LED leuchten
  • wenn die Zusatztaste gedrückt ist soll die Anzeige-LED blinken
  • wenn beide Tasten gedrückt sind hat die Zusatztaste Vorrang
  • wenn keine Taste gedrückt ist soll die Anzeige-LED aus sein

Weiter mit: