司马懿的西山居

如果觉得有帮助,就顶顶顶一个,或者关注、关注、关注一下,转载请注明出处。...

Qt 串口通信

开发环境 Qt5.5.1、Qt Creator 3.5.1

1、创建项目 ( QtSerialDemo )

2、添加组件——修改 “项目名.pro” ( QtSerialDemo.pro ) ,添加

QT += serialport

3、添加如下使用 “Qt串口” 所需的头文件

#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>

4、主要串口通讯方法

(1)枚举与当前设备连接的所有串口,如果发现是所需要的串口 ( COM4 ),则将串口接收数据的信号与自定义的槽函数readyReadSlot()进行绑定,在槽函数readyReadSlot()中处理接收到的数据。

bool QtDemoWindow::initSerial()
{
foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) {
        qDebug() << "Name        : " << info.portName();
        qDebug() << "Description : " << info.description();
        qDebug() << "Manufacturer: " << info.manufacturer();
        qDebug() << "serialNumber" << info.serialNumber();

        serial.setPort(info);
        int result =  QString::localeAwareCompare(info.portName(), "COM4");
        qDebug()<<"result = "<<result;
        if(result == 0) {
            if(serial.open(QIODevice::ReadWrite)) {
                qDebug()<<"serial open";
                serial.setBaudRate(QSerialPort::Baud9600);
                serial.setDataBits(QSerialPort::Data8);
                serial.setStopBits(QSerialPort::OneStop);
                serial.setParity(QSerialPort::OddParity);
                serial.setFlowControl(QSerialPort::SoftwareControl);
                serial.clearError();
                serial.clear();
                connect(&serial, SIGNAL(readyRead()), this, SLOT(readyReadSlot()));
		return true;
            }
        }
    }
return false;
}
(2)处理收到的数据,这里只是简单打印收到的数据,需要替换为实际处理方法。

void QtDemoWindow::readyReadSlot()
{
    QByteArray arr = serial.readAll();
    qDebug()<<arr;
}
(3)发送数据

void QtDemoWindow::serialSendData()
{
    if(serial.isOpen()) {
        if(serial.isDataTerminalReady()) {
            serial.write("isDataTerminalReady true");
        } else {
            qDebug()<<"DataTerminal not Ready";
        }
    } else {
        qDebug()<<"serial not open";
    }
}

注意:注释中,括号内的为值为本人环境下所测试的值,在使用时需要按照实际环境进行修改。

阅读更多
版权声明:转载请注明出处——http://blog.csdn.net/chy555chy/article https://blog.csdn.net/chy555chy/article/details/51559163
个人分类: Qt 5.5
想对作者说点什么? 我来说一句

Qt编写串口通信程序

2011年10月01日 1.18MB 下载

QT串口与51单片机通信

2011年11月20日 162KB 下载

Qt串口通信程序源代码

2010年09月18日 253KB 下载

Qt多线程串口通信源码

2010年08月14日 67KB 下载

没有更多推荐了,返回首页

不良信息举报

Qt 串口通信

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭