Qt学习之串口通讯一般函数使用

最近在做用Qt编写上位机负责与下位机(STM32通讯),就使用到的一般函数做一个总结介绍,如下:

串口通讯使用的类:就是一个以位为元素的数组类,用于存放收发数据。

1.QByteArray:

 

2.QSerialPort:该类主要用于串口的初始化与接收和发送数据。

Qt学习之串口通讯一般函数使用_第1张图片

 

3.QSerialPortInfo:该类主要用于获得和访问已存在的串口信息

常使用到的函数:

(1)、setBaudRate


#Header:           include  
#qmake:            QT += serialport
#Since:            Qt 5.1
#Inherits:         QIODevice

bool setBaudRate(qint32 baudRate, Directions directions = AllDirections)
参数:
qint32 baudRate :波特率,
        其取值为:

参数 baudRate取值如下,

Qt学习之串口通讯一般函数使用_第2张图片

(2)setDataBits


bool setDataBits(DataBits dataBits)
参数dataBits表示数据位数:

参数dataBits取值如下所示:

(3)、setFlowControl


bool setFlowControl(FlowControl flowControl)
参数flowControl表示硬件流

其参数flowControl取值如下所示:

(4)、setParity


bool setParity(Parity parity)
参数parity表示是否需要奇偶校验位。

Qt学习之串口通讯一般函数使用_第3张图片

(5)、setStopBits


bool setStopBits(StopBits stopBits)
参数stopBits表示停止位:

(6)、setPortName


void setPortName(const QString &name)
参数name为所需要连接的串口的名字

(7)、获取可用串口

#include "qwidget,h"
#include "qserialport.h"
#include "qserialportinfo.h"


foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) 
{
 QString s = QObject::tr("Port: ") + info.portName() + "\n"
           + QObject::tr("Location: ") + info.systemLocation() + "\n"
           + QObject::tr("Description: ") + info.description() + "\n"
           + QObject::tr("Manufacturer: ") + info.manufacturer() + "\n"
           + QObject::tr("Serial number: ") + info.serialNumber() + "\n"
           + QObject::tr("Vendor Identifier: ") + (info.hasVendorIdentifier()
QString::number(info.vendorIdentifier(), 16) : QString()) + "\n"
           + QObject::tr("Product Identifier: ") + (info.hasProductIdentifier() ? QString::number(info.productIdentifier(), 16) : QString()) + "\n"
           + QObject::tr("Busy: ") + (info.isBusy() ? QObject::tr("Yes") : QObject::tr("No")) + "\n";

}

 

你可能感兴趣的:(Qt学习)