工作中需要用到QT串口通信,所使用的环境是QT4.7,由于QT中并没有特定的串口控制类,所以我使用的是使用的是第三方写的 qextserialport 类。我们可以去http://sourceforge.net/projects/qextserialport/files/进行下载
我们在 windows 下只需要使用其中的 6 个文件:
qextserialbase.cpp 和 qextserialbase.h, qextserialport.cpp 和 qextserialport.h, win_qextserialport.cpp 和 win_qextserialport.h
如果在 Linux 下只需将 win_qextserialport.cpp 和 win_qextserialport.h 换为 posix_qextserialport.cpp 和 posix_qextserialport.h 即可。
先附代码:
Win_QextSerialPort *myCom;
myCom = new Win_QextSerialPort(portName, QextSerialBase::EventDriven);
//定义串口对象, 并传递参数, 在构造函数里对其进行初始化
myCom->open(QIODevice::ReadWrite);
//以读写方式打开串口
if(ui->baudRateComboBox->currentText()==tr("9600")) //根据组合框的内容对串口进行设置
myCom->setBaudRate(BAUD9600);
else if(ui->baudRateComboBox->currentText()==tr("115200"))
myCom->