Die UART (Universal Asynchronous Receiver Transmitter) oder besser gesagt USART (Universal Synchronous/Asynchronous Receiver Transmitter) ist für eingebettete Systeme eine der wichtigsten Kommunikationsschnittstellen. Technisch gesehen verfügen AVR-Mikrocontroller über USART Bausteine oder die noch höher entwickelten USI (Universal Serial Interface), in den meisten Fällen werden diese aber als UART, also asynchron betrieben. Zwischen Controllern erfolgt die Verbindung oft direkt und über größere Entfernungen mit entsprechenden Treiberbausteinen (vgl. RS232/RS485). Das PEC-Framework definiert folgende Signatur einer UART.
Bevor wir beginnen benötigen wir ein neues Klassendiagramm. Dazu müssen Sie zurück in die oberste Ebene gehen (rechte Maustaste / nach oben oder einfach Taste ESC). Dort legen Sie ein neues Klassendiagramm an. Zur Erinnerung:
Das folgende Beispiel zeigt die Anwendung der UART mit dem PEC-Framework. Es soll die Zeichenfolge „Hallo UML“ an den PC gesendet werden.
Gehen Sie wie folgt vor:
Die so vorbereitete Systemstruktur muss jetzt nur noch mit dem gewünschten Verhalten ergänzt werden. Ergänzen Sie in der Operation onWork der Klasse Controller den folgenden Code:
Controller::onWork
konsole.writeString("Hallo UML!\n"); waitMs(300);
Wenn wir die Zeile richtig eingegeben und das Modell korrekt erstellt haben können wir aus dem Klassendiagramm wie gehabt den Quellcode generieren, diesen übersetzen und auf den Controller übertragen. Das erfolgt über das Aktionsmenü in der Objektbibliothek. Wählen sie dort den Menüpunkt Erstellen, Brennen & Ausführen.
Das Testen der Anwendung erfolgt mit dem SiSy-Controlcenter. Beachten Sie, dass die Einstellungen für die Kommunikationsschnittstelle korrekt sind.