Cette page explique comment lister les ports série en utilisant la bibliothèque Serialib. 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 :
La meilleure option pour lister les ports série disponibles est d'ouvrir chaque port
et de vérifier le status retourné par la fonction openDevice
:
// Teste chaque port entre COM1 et COM99 sous Windows et entre /dev/ttyS0 et /dev/ttyS99 sous Linux
for (int i=1;i<99;i++)
{
// Prépare le nom du port (Windows)
#if defined (_WIN32) || defined( _WIN64)
sprintf (device_name,"\\\\.\\COM%d",i);
#endif
// Prépare le nom du port (Linux)
#ifdef __linux__
sprintf (device_name,"/dev/ttyACM%d",i-1);
#endif
// Tente une connexion au port
if (device.openDevice(device_name,115200)==1)
{
printf ("Port détecté sur %s\n", device_name);
// Ferme le port avant d'essayer le suivant
device.closeDevice();
}
}