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
adc [2019/02/04 14:10] – Externe Bearbeitung 127.0.0.1adc [2020/01/06 14:22] (aktuell) – [Test] huwi
Zeile 16: Zeile 16:
 Basierend auf verfügbaren Klassen und Templates für ADC und UART soll entsprechend dem folgenden Blockbild eine Firmware erstellt werden. Die Klasse //PecUart// kennen wir bereits. Die Frameworklösung für den ADC schauen wir uns etwas näher an. Über den Explorer mit dem Suchtext **pec_Adc** lassen sich die einzelnen Bausteine erreichen. Es ergibt sich folgendes Gesamtbild zu der vorhandenen Lösung für die Klasse //PecAdcChannel//: Basierend auf verfügbaren Klassen und Templates für ADC und UART soll entsprechend dem folgenden Blockbild eine Firmware erstellt werden. Die Klasse //PecUart// kennen wir bereits. Die Frameworklösung für den ADC schauen wir uns etwas näher an. Über den Explorer mit dem Suchtext **pec_Adc** lassen sich die einzelnen Bausteine erreichen. Es ergibt sich folgendes Gesamtbild zu der vorhandenen Lösung für die Klasse //PecAdcChannel//:
  
-{{:adcchannel.png?580|}}  {{:adcsinglechannel2.png?200|}}+>{{:adcchannel.png?580|}}{{:adcsinglechannel2.png?200|}}
  
  
Zeile 28: Zeile 28:
 Wir setzen die geforderten Komponenten für die Abstraktion der PC-Konsole und des Potentiometers wie folgt aus den im Framework verfügbaren Bausteinen zusammen: Wir setzen die geforderten Komponenten für die Abstraktion der PC-Konsole und des Potentiometers wie folgt aus den im Framework verfügbaren Bausteinen zusammen:
  
->>>{{:analoguml.png?700|}}+>{{:analoguml.png?700|}}
  
->>>//**Controller::onWork:**// +>//**Controller::onWork:**// 
->>><code c>+><code c>
 // hole Wert vom Poti // hole Wert vom Poti
 // sende Wert an PC // sende Wert an PC
Zeile 40: Zeile 40:
 Wir realisieren das Erfassen des Analogwertes in der Operation //onWork//. Als Variable für den erfassten Wert legen wir uns vorausschauend einen vorzeichenlosen 8-Bit Wert an. Diesen sollten wir dann bei der Übergabe an die UART [[http://www.cplusplus.com/doc/tutorial/typecasting/|explizit casten]]. Wir realisieren das Erfassen des Analogwertes in der Operation //onWork//. Als Variable für den erfassten Wert legen wir uns vorausschauend einen vorzeichenlosen 8-Bit Wert an. Diesen sollten wir dann bei der Übergabe an die UART [[http://www.cplusplus.com/doc/tutorial/typecasting/|explizit casten]].
  
->>>//**Controller::onWork:**// +>//**Controller::onWork:**// 
->>><code c>+><code c>
 uint8_t wert; uint8_t wert;
 wert=poti.getValue(); wert=poti.getValue();
Zeile 47: Zeile 47:
 waitMs(100);</code> waitMs(100);</code>
  
->>>{{:analogseq1.jpg|}}+>{{:analogseq1.jpg|}}
  
 ===== Test ===== ===== Test =====
Zeile 57: Zeile 57:
 Verbinden Sie die USB-UART-Bridge auf dem Erweiterungsboard mit dem PC (Mini USB-Kabel), patchen Sie RxD mit PD8 und das Potentiometer mit Pin PC2 (vgl. Bild).  Verbinden Sie die USB-UART-Bridge auf dem Erweiterungsboard mit dem PC (Mini USB-Kabel), patchen Sie RxD mit PD8 und das Potentiometer mit Pin PC2 (vgl. Bild). 
  
- +>{{:analogdaten.png?500|}}
->>>{{:analogdaten.png?500|}}+
  
 Starten Sie das ControlCenter und beachten die korrekten Einstellungen für den COM-Port. Nachdem Sie die Verbindung mit geöffnet haben stellen Sie die Ansicht auf "Oszi" um. Sie können über die Optionen für die Oszi-Ansicht verschiedene Darstellungsvarianten auswählen. Nun können Sie jede Veränderung am Potentiometer auf dem Bildschirm verfolgen. Starten Sie das ControlCenter und beachten die korrekten Einstellungen für den COM-Port. Nachdem Sie die Verbindung mit geöffnet haben stellen Sie die Ansicht auf "Oszi" um. Sie können über die Optionen für die Oszi-Ansicht verschiedene Darstellungsvarianten auswählen. Nun können Sie jede Veränderung am Potentiometer auf dem Bildschirm verfolgen.
Zeile 68: Zeile 67:
  
  
->>>//**Controller::onWork:**// +>//**Controller::onWork:**// 
->>><code cpp>+><code cpp>
 uint16_t wert; uint16_t wert;
 wert=poti.getValue(); wert=poti.getValue();
Zeile 77: Zeile 76:
 </code> </code>
  
->>>{{:analogsendensq.png?400|}}+>{{:analogsendensq.png?400|}}
  
  
Zeile 84: Zeile 83:
 Testen Sie die erweiterte Anwendung und variieren Sie die Einstellungen des Potentiometers. Testen Sie die erweiterte Anwendung und variieren Sie die Einstellungen des Potentiometers.
  
->>>>>{{:analogsenden.png?300|}}+>{{:analogsenden.png?300|}}
    
  
Zeile 92: Zeile 91:
  
   - Klassendiagramm anlegen und öffnen   - Klassendiagramm anlegen und öffnen
-  - Diagrammvorlage für PEC Applikation auswählen, laden und Treiberpaket für STM32F4 einfügen  - Navigator auf UML Pakete umschalten+  - Diagrammvorlage für PEC Applikation auswählen, laden und Treiberpaket für STM32F4 einfügen 
 +  - Navigator auf UML Pakete umschalten
   - gewünschte Klasse im Explorer suchen und ins Diagramm ziehen   - gewünschte Klasse im Explorer suchen und ins Diagramm ziehen
   - Klassen aggregieren   - Klassen aggregieren
Zeile 105: Zeile 105:
 Hier unsere übliche Videozusammenfassung. Hier unsere übliche Videozusammenfassung.
  
->>><html><iframe width="640" height="400" src="https://www.youtube.com/embed/9ntPDTCE7VY" frameborder="0" allowfullscreen></iframe></html>+><html><iframe width="640" height="400" src="https://www.youtube.com/embed/9ntPDTCE7VY" frameborder="0" allowfullscreen></iframe></html>
  
 ====== Übung ====== ====== Übung ======