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
light_hallo_uml [2020/01/09 19:31]
huwi [Lösungsansatz]
light_hallo_uml [2020/07/07 13:52] (aktuell)
huwi [Übung]
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 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 1======
 Erweitern Sie zur Übung die Anwendung um eine weitere ErrorLED an Pin B1. Orientieren sie sich an den obigen Arbeitsschritten. Lassen Sie die ErrorLED im Gegentakt zur StatusLED blinken.  Erweitern Sie zur Übung die Anwendung um eine weitere ErrorLED an Pin B1. Orientieren sie sich an den obigen Arbeitsschritten. Lassen Sie die ErrorLED im Gegentakt zur StatusLED blinken. 
  
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 ======