Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
light_hallo_uml [2020/01/09 19:31] – [Lösungsansatz] huwilight_hallo_uml [2020/06/04 17:06] – [Weiter mit:] huwi
Zeile 1: Zeile 1:
 ====== Das erste Blinky ====== ====== Das erste Blinky ======
 +{{tag>BLINKY ANFANG LED}}
 So, dann frisch ans Werk. Die erste Übung mit der wahrscheinlich ungewohnten Umgebung soll das einfache Einschalten einer LED sein.\\ Der Sinn und Zweck von Klassenbibliotheken ist natürlich vor allen der, dass Dinge die öfters gebraucht werden oder typische Problemstellungen die einfach schon mal gelöst wurden, dem Anwender komfortabel zur Wiederverwendung zur Verfügung stehen.\\ Das werden wir nutzen. So, dann frisch ans Werk. Die erste Übung mit der wahrscheinlich ungewohnten Umgebung soll das einfache Einschalten einer LED sein.\\ Der Sinn und Zweck von Klassenbibliotheken ist natürlich vor allen der, dass Dinge die öfters gebraucht werden oder typische Problemstellungen die einfach schon mal gelöst wurden, dem Anwender komfortabel zur Wiederverwendung zur Verfügung stehen.\\ Das werden wir nutzen.
  
Zeile 8: Zeile 9:
  
 ===== Vorbereitung ===== ===== Vorbereitung =====
-Falls Sie jetzt noch das vorherige 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, öffnen sie das SiSy UML-Projekt wieder. Legen Sie ein neues Klassendiagramm an und wählen Sie die Sprache //ARM C++//. Beachten Sie die Einstellungen für die Zielplattform //STM32F042 mySTM32 Board light HAL//. Beim Öffnen des Diagramms (rechte Maustaste, nach unten) laden Sie aus dem SiSy LibStore die Diagrammvorlage //Application Grundgerüst für PEC Anwendungen (XMC, STM32, AVR)//. Weisen Sie das Treiberpaket für //STM32F0// zu. Zusätzlich können Sie den Bibliotheksbaustein //stm32F042_48Mhz// aus dem Explorer nutzen um den Controller mit voller 48MHz Leistung zu betreiben.+Falls Sie jetzt noch das vorherige 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, öffnen sie das SiSy UML-Projekt wieder.  
 +  - Legen Sie ein neues Klassendiagramm an und  
 +  - wählen Sie die Sprache //ARM C++// 
 +  - Beachten Sie die Einstellungen für die Zielplattform //STM32F042 mySTM32 Board light HAL// 
 +  - Beim Öffnen des Diagramms (rechte Maustaste, nach unten) laden Sie aus dem SiSy LibStore die Diagrammvorlage //Application Grundgerüst für PEC Anwendungen (XMC, STM32, AVR)// 
 +  - Weisen Sie das Treiberpaket für //STM32F0// zu.  
 +  - Zusätzlich können Sie den Bibliotheksbaustein //stm32F042_48Mhz// aus dem Explorer nutzen um den Controller mit voller 48MHz Leistung zu betreiben.
  
 {{:neueskldhallo.jpg?direct&290|}}{{:pecapplication.jpg?direct&250|}}{{:stm32light:stml001.png?direct&450|}}  {{:neueskldhallo.jpg?direct&290|}}{{:pecapplication.jpg?direct&250|}}{{:stm32light:stml001.png?direct&450|}} 
  
 ===== Lösungsansatz ===== ===== Lösungsansatz =====
-Die Aufgabe besteht darin eine LED anzusteuern um den Status des Controllers anzuzeigen. Folgen wir dem objektorientierten Konzept, ist diese //StatusLED// ein Baustein unseres Systems. Systembausteine bilden wir in der UML als Klassen ab. In unserem Klassendiagramm sehen wir schon einen solchen Systembaustein. Den Controller.+Die Aufgabe besteht darin eine LED anzusteuern um den Status des Controllers anzuzeigen. Folgen wir dem sogenannten objektorientierten Konzepten, ist diese //StatusLED// ein Baustein unseres Systems. Systembausteine bilden wir in der UML als Klassen ab. In unserem Klassendiagramm sehen wir schon einen solchen Systembaustein. Den Controller.
  
 {{uml:smd32pin.jpg?nolink&100|}} {{uml:klassecontroller.jpg?nolink&|}} {{uml:smd32pin.jpg?nolink&100|}} {{uml:klassecontroller.jpg?nolink&|}}
Zeile 29: Zeile 36:
 {{:stm32light:pecpinout.png?direct&300|}} {{:stm32light:pecpinout.png?direct&300|}}
  
-Die Beziehung zwischen StatusLED und PecPinOutput lässt sich als **"ist ein"**-Beziehung abbilden. +Die Beziehung zwischen StatusLED und PecPinOutput lässt sich als **"ist ein"**-Beziehung abbilden.\\ 
 Dazu nutzen wir in diesem Fall die UML-**Realisierung**. Dazu nutzen wir in diesem Fall die UML-**Realisierung**.
  
Zeile 118: Zeile 125:
  
 ====== Videozusammenfassung ====== ====== Videozusammenfassung ======
 +{{tag>Video}}
 Erlernte und gefestigte Arbeitsschritte: Erlernte und gefestigte Arbeitsschritte:
   - //Klassendiagramm// anlegen und öffnen   - //Klassendiagramm// anlegen und öffnen
Zeile 124: Zeile 132:
   - gewünschte Bibliothekselemente in das Diagramm ziehen   - gewünschte Bibliothekselemente in das Diagramm ziehen
   - Klassen miteinander verbinden (//Aggregation//, //Realisierung//)   - Klassen miteinander verbinden (//Aggregation//, //Realisierung//)
-  - den nötigen //Quellcode// in den Operationen erstellen +  - den nötigen //Quellcode// in den richtigen Operationen erstellen 
-  - //Erstellen und Brennen// eine ARM Applikation im Klassendiagramm+  - //Erstellen und Brennen// einer STM32 Applikation im Klassendiagramm
  
 Und weil es so schön war hier das Ganze noch mal als Video. Und weil es so schön war hier das Ganze noch mal als Video.
  
-<<<< ACHTUNG VERALTETES VIDEO >>>>+<html><iframe width="1030" height="580" src="https://www.youtube.com/embed/8O90vZi2b0g" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></html>
  
-><html><iframe width="640" height="440" src="https://www.youtube.com/embed/GNvT2T8sD6I" frameborder="0" allowfullscreen></iframe></html>+[[https://youtu.be/xgvWU2bTGy4|oder die schnelle Version ohne Sprachkommentare]]
  
 ====== Übung ====== ====== Übung ======
Zeile 139: Zeile 147:
   * [[mystm32_board_light_tutorial|zurück zur Übersicht]]   * [[mystm32_board_light_tutorial|zurück zur Übersicht]]
   * [[einfache Ein und Ausgaben mit dem mySTM32 light]]   * [[einfache Ein und Ausgaben mit dem mySTM32 light]]
 +
 +====== Suchbegriffe ======