====== 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", );
//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.