Übung zu UART Sommer 2017
(EN google-translate)
(PL google-translate)
Sie haben nun einiges über die Möglichkeiten der Arduino-Bibliothek, über die Register des ATmega32U4 und objektorientierte Programmierung gelernt.
Versuchen Sie bei der folgenden Aufgabe aufgrund dessen selber einen Weg zu finden, der über mehrere funktionierende Projektstände läuft und am Ende zu einer Lösung der Aufgabe führt, die modular und Register basiert ist.
Aufgabe
Bei PCs der letzten Generation gab es eine native COM-Schnittstelle. Um zwischen zwei PCs über ein serielles Terminal zu kommunizieren, war nicht mehr nötig, als die Massen der beiden COM-Schnittstellen der PCs miteinander zu verbinden und RxD und TxD über Kreuz (Vergl. Bild 7.3-1).
Hätten Sie zwei USB nach Seriell - Emulatoren, könnten Sie im Prinzip genau so verfahren.
Um mit dem, was Sie haben das gleiche hinzubekommen, wird es etwas schwieriger: Tatsächlich müßten Sie zwei Arduino Micro Boards jeweils über ihre Mikro-USB Schnittstelle mit je einem PC verbinden. Damit hätten Sie jeweils Serial0 mit dem PC verbunden. Dann müßten Sie noch RxD und TxD von Serial1 beider Komponenten über Kreuz sowie deren Massen verbinden.
Skizzieren Sie diese Anordnung und diskutieren Sie zunächst in großer Runde, wie genau das Programm, das am Ende herauskommen soll beschaffen sein sollte und über welche (funktionierende) Zwischenschritte man dahin kommen kann.
Testen Sie immer Ihre Zwischenschritte. (Womöglich müssen hier immer zwei Gruppen ihre Hardware gemeinsam nutzen.)
Arbeiten Sie dann in Zweiergruppen an der Umsetzung.
Hinweis: Um ein reibungsfreies Funktieren des Systems zu gewährleisten, müßten sowohl die hereinkommenden, als auch die herausgehenden Zeichen gepuffert werden.
... aber das können Sie auch zunächst weglassen.