Hier ist mal ein Demo GUI mit dem man was Senden und Empfangen kann.
Enthält auch die Com Port Erkennung. Jedenfalls für Standard Arduinos.
Für nicht Standard Arduinos geht das nicht! Ich weiß nicht wie es mit dem CH340G ist, aber beim FTDI erscheint das mit ManagementClass einfach nicht. Das hatte ich anders in Erinnerung, aber dann fiel es mit wieder ein. In dem Fall kann man das aber mit GetComPortNames kombinieren und den Port per Hand auswählen, aber das habe ich mal weggelassen damit es einfacher wird.
Der eigentliche serielle Teil ist in einer eigenen Klasse. Die Interaktion mit dem Hauptprogramm findet über einen oder zwei Delegates statt. Einen für die normale Ausgabe und einen für die Fehlerausgabe. Oder einen für beides. So kann z.B. Fehler direkt 1:1 ausgeben, aber empfangene Daten erstmal an eine Parser-Methode schicken.
Das Arduino Programm schickt einfach alle empfangenen Zeilen direkt zurück
SerialDemo.zip (77.5 KB)
Serial.ino (593 Bytes)