Qt 端口的使用

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

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

QT += serialport

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

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

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

#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);//设置停止位(一位)

本文福利, 免费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT图像,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值