Bibliothèque série RS232 C++ cross-platform

Introduction

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 :

Fonctions

Ouverture et fermeture

Écriture

Lecture

Opérations spéciales

Entrées/sorties (écriture)

Entrées/sorties (lecture)

Exemples

Table ASCII

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:

La table ASCII reçue sur lécran TFT touch screen

IO read/write

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());
}

Téléchargement

Serialib peut être téléchargée via les liens suivant :

Voir aussi


Dernière mise à jour : 03/04/2023