Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
usart [2019/01/29 17:06] – [Binärdaten senden] huwi | usart [2019/07/27 16:49] (aktuell) – huwi | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Die UART-Klasse ====== | ====== Die UART-Klasse ====== | ||
- | Die UART ([[http:// | + | Die UART ([[http:// |
- | >>>>>>>>>>>> | + | > |
Wichtig ist noch zu erwähnen, dass die Klasse //Uart// auch ein Ereignis //onEvent// auslöst, wenn ein Datenbyte empfangen wurde. Dabei ist die Uart-Instanz der Sender des Ereignisses und als Daten wird das empfangene Byte übergeben. | Wichtig ist noch zu erwähnen, dass die Klasse //Uart// auch ein Ereignis //onEvent// auslöst, wenn ein Datenbyte empfangen wurde. Dabei ist die Uart-Instanz der Sender des Ereignisses und als Daten wird das empfangene Byte übergeben. | ||
Zeile 9: | Zeile 9: | ||
Bei dem hier verwendeten Experimentierboard ist die serielle Schnittstelle über den mySmartUSB MK2 bereits mit dem PC verbunden. Da heute der gute alte COM-Port an PCs und vor allem an Notebooks leider kaum noch anzutreffen ist, wird als Treiberbaustein eine [[http:// | Bei dem hier verwendeten Experimentierboard ist die serielle Schnittstelle über den mySmartUSB MK2 bereits mit dem PC verbunden. Da heute der gute alte COM-Port an PCs und vor allem an Notebooks leider kaum noch anzutreffen ist, wird als Treiberbaustein eine [[http:// | ||
- | >>>>>>>> | + | > |
Auf PC-Seite benötigt man nur noch ein kleines Programm, um Datenbytes vom COM-Port abzuholen. Dafür gibt es zahlreiche Lösungen. In manchen Betriebssystemen wird solch ein Terminal-Programm sogar noch mitgeliefert. In der hier verwendeten Entwicklungsumgebung SiSy steht das //myAVR ControlCenter// | Auf PC-Seite benötigt man nur noch ein kleines Programm, um Datenbytes vom COM-Port abzuholen. Dafür gibt es zahlreiche Lösungen. In manchen Betriebssystemen wird solch ein Terminal-Programm sogar noch mitgeliefert. In der hier verwendeten Entwicklungsumgebung SiSy steht das //myAVR ControlCenter// | ||
- | >>>>> | + | > |
Wir wollen diesen Einstellungen hier im Tutorial als unseren Kommunikationsstandard betrachten. Beachten Sie, dass der konkrete COM-Port an jedem System unterschiedlich zugeordnet sein kann. Oft wird COM3 oder COM4 bei der Erstinstallation als virtueller COM-Port zugewiesen. Sie können die Zuordnung des konkreten COM-Ports über den Gerätemanager überprüfen und auch ändern. Des Weiteren wurden im //myAVR ControlCenter// | Wir wollen diesen Einstellungen hier im Tutorial als unseren Kommunikationsstandard betrachten. Beachten Sie, dass der konkrete COM-Port an jedem System unterschiedlich zugeordnet sein kann. Oft wird COM3 oder COM4 bei der Erstinstallation als virtueller COM-Port zugewiesen. Sie können die Zuordnung des konkreten COM-Ports über den Gerätemanager überprüfen und auch ändern. Des Weiteren wurden im //myAVR ControlCenter// | ||
Zeile 22: | Zeile 22: | ||
Wir wollen uns an die UART langsam herantasten. Zunächst gilt es, eine serielle Verbindung zum PC aufzubauen und ganz simple Daten an diesen zu senden. Die Geschwindigkeit mit der die Daten gesendet werden soll 9600 Baud betragen. Bei AVR Controllern sind die üblichen Einstellungen von 8 Daten-Bits, keine Paritätsprüfung und 1 Stoppbit Werksstandard und für die USART nach dem RESET voreingestellt. Es ist der folgende Plan zu realisieren: | Wir wollen uns an die UART langsam herantasten. Zunächst gilt es, eine serielle Verbindung zum PC aufzubauen und ganz simple Daten an diesen zu senden. Die Geschwindigkeit mit der die Daten gesendet werden soll 9600 Baud betragen. Bei AVR Controllern sind die üblichen Einstellungen von 8 Daten-Bits, keine Paritätsprüfung und 1 Stoppbit Werksstandard und für die USART nach dem RESET voreingestellt. Es ist der folgende Plan zu realisieren: | ||
- | >>>< | + | >< |
//////////////////////////////////////////////////////// | //////////////////////////////////////////////////////// | ||
// ENTWURF Beispiel Uart1 | // ENTWURF Beispiel Uart1 | ||
Zeile 48: | Zeile 48: | ||
späteren Wartungsaufwand in der Software. Wir wählen den Begriff // | späteren Wartungsaufwand in der Software. Wir wählen den Begriff // | ||
- | >>>< | + | >< |
//////////////////////////////////////////////////////// | //////////////////////////////////////////////////////// | ||
// Beispiel Uart1 | // Beispiel Uart1 | ||
Zeile 74: | Zeile 74: | ||
Bilden, übertragen und testen Sie das Programm. Mit der Schaltfläche // | Bilden, übertragen und testen Sie das Programm. Mit der Schaltfläche // | ||
- | >>>>> | + | > |
Mit der Schaltfläche //Start// wird der COM-Port geöffnet und es beginnt die Kommunikation. | Mit der Schaltfläche //Start// wird der COM-Port geöffnet und es beginnt die Kommunikation. | ||
- | >>>> | + | > |
Sie erhalten im Terminalprogramm das empfangene Zeichen als Buchstabe **" | Sie erhalten im Terminalprogramm das empfangene Zeichen als Buchstabe **" | ||
- | >>>> | + | > |
Das Programm lässt sich leicht erweitern, um etwas weniger langweilig ein A nach dem anderen zu senden. Ergänzen Sie in der Operation //onWork// das Hochzählen des zu sendenden Wertes. | Das Programm lässt sich leicht erweitern, um etwas weniger langweilig ein A nach dem anderen zu senden. Ergänzen Sie in der Operation //onWork// das Hochzählen des zu sendenden Wertes. | ||
- | >>>< | + | >< |
class Application : public Controller | class Application : public Controller | ||
{ | { | ||
Zeile 111: | Zeile 111: | ||
Bilden, übertragen und testen Sie das Programm. Siehe da - der Mikrocontroller kennt das Alphabet! | Bilden, übertragen und testen Sie das Programm. Siehe da - der Mikrocontroller kennt das Alphabet! | ||
- | >>>> | + | > |
Jetzt macht es auch Sinn sich das Ganze mal grafisch anzuschauen, | Jetzt macht es auch Sinn sich das Ganze mal grafisch anzuschauen, | ||
- | >>>>> | + | >< |
==== Zeichen empfangen und auswerten ==== | ==== Zeichen empfangen und auswerten ==== | ||
Zeile 122: | Zeile 122: | ||
Zunächst wieder erst der Plan: | Zunächst wieder erst der Plan: | ||
- | >>>< | + | >< |
//////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////// | ||
// Entwurf Beispiel Uart-Kommando-Interpreter | // Entwurf Beispiel Uart-Kommando-Interpreter | ||
Zeile 158: | Zeile 158: | ||
Als Aktoren benutzen wir die LEDs und schließen diese an Port B Bit 0 bis 3 an. | Als Aktoren benutzen wir die LEDs und schließen diese an Port B Bit 0 bis 3 an. | ||
- | >>>>>>> | + | > |
Jetzt kann die Realisierung beginnen. | Jetzt kann die Realisierung beginnen. | ||
- | >>>< | + | >< |
//////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////// | ||
// Beispiel Uart-Kommando-Interpreter | // Beispiel Uart-Kommando-Interpreter | ||
Zeile 213: | Zeile 213: | ||
Soll die Steuerung, während Sie auf die Kommandos wartet, weitere Aufgaben übernehmen wie zum Beispiel Messwerte erfassen und eine entsprechende Regelung realisieren, | Soll die Steuerung, während Sie auf die Kommandos wartet, weitere Aufgaben übernehmen wie zum Beispiel Messwerte erfassen und eine entsprechende Regelung realisieren, | ||
- | >>>< | + | >< |
////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////// | ||
// Beispiel Kommandointerpreter 2 | // Beispiel Kommandointerpreter 2 | ||
Zeile 267: | Zeile 267: | ||
Ändern, bilden, übertragen und testen Sie das Programm. | Ändern, bilden, übertragen und testen Sie das Programm. | ||
- | |||
- | |||
====== Videozusammenfassung ====== | ====== Videozusammenfassung ====== | ||
- | >>><flashplayer | + | ><html><iframe |
- | + | ||
- | >>> | + | |
- | + | ||
- | + | ||
====== Nächstes Thema ====== | ====== Nächstes Thema ====== | ||
[[STRINGS|Zeichenketten in myAVR C++]] | [[STRINGS|Zeichenketten in myAVR C++]] |