Serialib est une bibliotèque multi-plateforme écrite en C++.
La bibliothèque a été testée sous Windows et Linux et devrait auss fonctionner sous Mac OS.
The library has been tested on Windows and Linux. Ce projet a été réalisé avec Qt Creator et compilé avec :
serialib()openDevice()closeDevice()writeChar()writeString ()writeBytes ()readChar() readString()readBytes()flushReceiver()available()DTR()setDTR()clearDTR()RTS()setRTS()clearRTS()isRI()isDCD()isCTS()isDSR()isRTS()isDTR()Ce premier exemple envoie une portion de la table ASCII sur la voie série:
// Connection to serial port
serialib serial;
if (serial.openDevice("/dev/ttyACM0", 115200)!=1) return 1;
// Display ASCII characters (from 32 to 128)
for (int c=32;c<128;c++)
{
serial.writeChar(c);
usleep(10000);
}
// Close the serial device
serial.closeDevice();
Cet exemple a été testé avec le terminal Arduino TFT:

Ce second example met DTR à un et RTS à zéro avant d'afficher en continu l'état des broches d'entrée :
// Connection to serial port
serialib serial;
if (serial.openDevice("COM1", 115200)!=1) return 1;
// Set DTR and unset RTS
serial.DTR(true);
serial.RTS(false);
// Loop forever and display pin status
while (1)
{
// Read and display the status of each pin (DTR should be 1, RTS should be 0)
printf ("4-DTR=%d\t", serial.isDTR());
printf ("7-RTS=%d\t", serial.isRTS());
printf ("1-DCD=%d\t", serial.isDCD());
printf ("8-CTS=%d\t", serial.isCTS());
printf ("6-DSR=%d\t", serial.isDSR());
printf ("9-RING=%d\n", serial.isRI());
}
Serialib peut être téléchargée via les liens suivant :