.NET Framework Ports série utilisant System.IO.SerialPorts


Exemple

Itérer sur les ports série connectés

using System.IO.Ports;
string[] ports = SerialPort.GetPortNames();
for (int i = 0; i < ports.Length; i++)
{
    Console.WriteLine(ports[i]);
}

Instanciation d'un objet System.IO.SerialPort

using System.IO.Ports;
SerialPort port = new SerialPort();
SerialPort port = new SerialPort("COM 1"); ;
SerialPort port = new SerialPort("COM 1", 9600);

REMARQUE : ce ne sont que trois des sept surcharges du constructeur pour le type SerialPort.


Lecture / écriture de données sur le port série

La méthode la plus simple consiste à utiliser les méthodes SerialPort.Read et SerialPort.Write . Cependant, vous pouvez également récupérer un objet System.IO.Stream que vous pouvez utiliser pour diffuser des données sur le port série. Pour ce faire, utilisez SerialPort.BaseStream .

En train de lire

int length = port.BytesToRead;
//Note that you can swap out a byte-array for a char-array if you prefer.
byte[] buffer = new byte[length];
port.Read(buffer, 0, length);

Vous pouvez également lire toutes les données disponibles:

string curData = port.ReadExisting();

Ou simplement lire la première ligne rencontrée dans les données entrantes:

string line = port.ReadLine();

L'écriture

La manière la plus simple d'écrire des données sur le port série est la suivante:

port.Write("here is some text to be sent over the serial port.");

Cependant, vous pouvez également envoyer des données de cette manière si nécessaire:

//Note that you can swap out the byte-array with a char-array if you so choose.
byte[] data = new byte[1] { 255 };
port.Write(data, 0, data.Length);