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 :