计算机系统应用教程网站

网站首页 > 技术文章 正文

Qt 端口的使用

btikc 2024-09-22 01:32:14 技术文章 26 ℃ 0 评论

在与硬件进行通信时,需要通过com口来进行与硬件的通讯,但是在qt中没有自动添加关于端口的包,因此需要自行添加。

第一步 在项目中的.pro文件中添加下面这句话

QT += serialport

第二步 包含关于端口的头文件 这两个头文件都必须同时存在。

QSerialPort:这个类的主要作用是提供访问端口的功能,在使用端口之前必须先实例化一个QSerialPort类,再通过这个实例化的对象进行配置参数等等。

QSerialPortInfo:最为重要的是QSerialPortInfo 这个类,在这个类里面包含很多和串口有关的变量和方法,就是为了方便Qt程序员进行Qt开发。就像获取系统中的所有端口,以及每个端口所对应的名称,都是通过这个类进行的。他说存储的端口信息主要包括端口号(com),系统的位置,以及串口类型,厂商等信息

QT技术文章推荐:Qt开发进阶技术栈学习路线和资料

#include <QtSerialPort/QSerialPort>

#include <QtSerialPort/QSerialPortInfo>

  QList<QSerialPortInfo> listPort = QSerialPortInfo::availablePorts();

    for (int i = 0; i < listPort.size(); i++)

    {

        QSerialPortInfo stInfo = listPort[i];

        QString qsPortName = stInfo.portName();

        qDebug()<<qsPortName;

        ui->comboBox->addItem(qsPortName);

}

QSerialPortInfo::availablePorts() 是自带的获取端口的函数,他的返回值是将所有的端口一次返回,可以使用QList,通过链表的方式来存储返回的端口,也可以用循环的方式来存储

      foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())

    {

        QSerialPort serial;

        serial.setPort(info);

    }

最后 comboBox->addItem(qsPortName) 将端口号存储到一个下拉列表中。

结果展示:
**QSerialPort** 类主要是提供了一些对端口操作的各种接口。但是他也有特别指出,他可以设置为仅读模式

SerialPort.open(QIODevice::ReadOnly);//打开串口,并设置串口为只读模式

SerialPort.setBaudRate(QSerialPort::Baud115200);//设置串口波特率(9600)

SerialPort.setDataBits(QSerialPort::Data8);//设置数据位(8)

SerialPort.setParity(QSerialPort::NoParity); //设置奇偶校检(无)

SerialPort.setStopBits(QSerialPort::OneStop);//设置停止位(一位)

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表