RS232 unter Windows

Um die Serielle Schnittstelle zu erreichen, gibt uns das .NET Framework schon eine sehr nützliche Klasse mit:

System.IO.Ports.SerialPort

Mit ihr ist das senden und Empfangen ein Kinderspiel.

Nutzung

Um per SerialPort eine Serielle Schnittstelle zu öffnen, muss man vorher eine neue Instanz der Klasse anlegen und sie nach den Gegebenheiten richtig einstellen.

using System.IO.Ports;
...
//Neue Instanz der Klasse, wir weisen direkt einen Port und eine Baudrate zu
SerialPort mySerialConnector = new SerialPort("PortsName e.g COM1", <Baud Rate, z.B 19200>);
//Datenbits der Übertragung(7 oder 8), meistens 8, ansonsten in der Dokumentation des Protokolls nachschauen
mySerialConnector.DataBits = 8;
//Stopbits der Übertragung. Hierfür auch in der Dokumentation des Protokolls nachschauen
mySerialConnector.StopBits = StopBits.One;
//Einen neuen Eventhandler einklinken um auf das ankommen neuer Daten zu reagieren
mySerialConnector.DataReceived += new SerialDataReceivedEventHandler(mySerialConnector_DataReceived);
//WICHTIG: Port nicht vergessen zu öffnen, bevor man ihn verwendet!
mySerialConnector.Open();
if(!mySerialConnector.IsOpen)
{
    //Irgendwas lief nicht richtig
}
...
static void mySerialConnector_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    //Daten Ausgeben
    Console.WriteLine(mySerialConnector.ReadLine());
    mySerialConnector.WriteLine("Hello World");
}

Nützliches

Alle Verfügbaren Ports abrufen

Mit

SerialPort.GetPortNames();

kann man die Namen(COMX) aller gerade auf dem Windows System eingerichteten Seriellen Ports auslesen.