QT环境
win10、qt5.14.2
添加引用
工程文件.pro下添加QT += serialport
#include <QSerialPort>
#include <QSerialPortInfo>
获取串口列表
QStringList SerialPort:: GetSerialPortList()
{
QStringList m_serialPortName;
foreach(const QSerialPortInfo &info,QSerialPortInfo::availablePorts())
{
m_serialPortName << info.portName();
qDebug()<<"serialPortName:"<<info.portName();
qDebug()<<"serialPortDescription:"<<info.description();
}
return m_serialPortName;
}
连接信号槽
connect(m_QSerialPort,SIGNAL(readyRead()),this,SLOT(readData()));
槽函数
void serialport::readData(){ QByteArray bytes = m_QSerialPort->readAll(); }
写数据
m_QSerialPort->write(bytes);
注意
- 串口的写是线程形式,在主线程创建后不能在其他线程中直接写数据
- 在线程中写data1和写data2过程中延时QThread::masleep(),此写法,在串口写的时候没有作用,还是会一起发送,可使用线程通知其发送
总结
- QT中和硬件读写相关的类,里面都有数据准备好后都有信号产生,大多数都会继承QIODevice
- 使用 F1 F2多查看文档和类,QT的文档非常齐全,大部分所需要的功能都会在文档中出现