之前用Qt写一个用于Arduino开发板HEX文件烧写的工具,遇到了这个问题。后来找到了一个跨平台的串口操作库:qextserialport
以下代码可用于获取Windows平台上活动的串口列表。
QStringList & ComPortMgr::getAvailableComPorts()
{
static QStringList availablePorts;
const int MAX_COM_PORT = 256;
QString testPortName;
QextSerialPort testPort; testPort.setBaudRate(BAUD9600); testPort.setFlowControl(FLOW_OFF); testPort.setParity(PAR_NONE); testPort.setDataBits(DATA_8); testPort.setStopBits(STOP_1); for (int i = 1; i < MAX_COM_PORT; i++) { testPortName = QString("COM%1").arg(i); testPort.setPortName(testPortName); if (testPort.open(QIODevice::ReadWrite)) {
availablePorts.append(testPortName); testPort.close();
}
} return availablePorts;
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。