Here my code.
// Query available SerialPort name
{
QextSerialPort testPort;
testPort.setBaudRate(BAUD115200);
testPort.setFlowControl(FLOW_OFF);
testPort.setParity(PAR_NONE);
testPort.setDataBits(DATA_8);
testPort.setStopBits(STOP_1);
#ifdef _WIN
for (int i=1; i<MAX_COM_PORT; i++)
{
testPortName
= QString("COM%1").
arg(i
);
testPort.setPortName(testPortName);
{
portsName.append(testPortName);
testPort.close();
}
}
#else // _UNIX
filters << "ttyS*" << "ttyUSB*";
dir.setNameFilters(filters);
dir.
setFilter(QDir::Files |
QDir::System);
QFileInfoList list = dir.entryInfoList();
for (int i=0; i< list.size(); i++)
{
portsName.append(list.at(i).canonicalFilePath ());
}
#endif
return portsName;
}
// Query available SerialPort name
QStringList MySerialPort::availablePortsName()
{
QextSerialPort testPort;
testPort.setBaudRate(BAUD115200);
testPort.setFlowControl(FLOW_OFF);
testPort.setParity(PAR_NONE);
testPort.setDataBits(DATA_8);
testPort.setStopBits(STOP_1);
QStringList portsName;
QString testPortName;
#ifdef _WIN
for (int i=1; i<MAX_COM_PORT; i++)
{
testPortName = QString("COM%1").arg(i);
testPort.setPortName(testPortName);
if (testPort.open(QIODevice::ReadWrite))
{
portsName.append(testPortName);
testPort.close();
}
}
#else // _UNIX
QDir dir("/dev");
QStringList filters;
filters << "ttyS*" << "ttyUSB*";
dir.setNameFilters(filters);
dir.setFilter(QDir::Files | QDir::System);
QFileInfoList list = dir.entryInfoList();
for (int i=0; i< list.size(); i++)
{
portsName.append(list.at(i).canonicalFilePath ());
}
#endif
return portsName;
}
To copy to clipboard, switch view to plain text mode
Bookmarks