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]
127.0.0.1 Externe Bearbeitung
adc [2020/01/06 14:22] (aktuell)
huwi [Test]
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 ======