网站建设开发能力很强的企业,网站推广只能使用在线手段进行,小游戏网站建设,网站相关前置许可QT之串口通信 函数介绍例程 函数介绍
1#xff09;QSerialPort类的一些常用方法#xff1a; setPortName()#xff1a;设置串口的名称。 setBaudRate()#xff1a;设置串口的波特率。 setDataBits()#xff1a;设置串口的数据位。 setParity()#xff1a;设置串口的校验… QT之串口通信 函数介绍例程 函数介绍
1QSerialPort类的一些常用方法 setPortName()设置串口的名称。 setBaudRate()设置串口的波特率。 setDataBits()设置串口的数据位。 setParity()设置串口的校验位。 setStopBits()设置串口的停止位。 setFlowControl()设置串口的流控制。 write()向串口发送数据。 readAll()从串口读取所有数据。 read()从串口读取指定数量的数据。 isOpen()检查串口是否打开。 close()关闭串口。
2QSerialPortInfo类的一些常用方法
availablePorts()返回所有可用串行端口的列表。 portName()返回串行端口的名称。 manufacturer()返回串行端口的制造商。 description()返回串行端口的描述。
例程
#include QCoreApplication
#include QSerialPort
#include QSerialPortInfo
#include QDebug int main(int argc, char *argv[])
{ QCoreApplication a(argc, argv); // 查找可用串口 QListQSerialPortInfo ports QSerialPortInfo::availablePorts(); qDebug() 可用串口数 ports.count(); foreach (QSerialPortInfo info, ports) { qDebug() 串口名称 info.portName(); qDebug() 制造商 info.manufacturer(); } // 配置串口 QSerialPort serial; serial.setPortName(COM3); // 串口名称 serial.setBaudRate(QSerialPort::Baud9600); // 波特率 serial.setDataBits(QSerialPort::DataBits8); // 数据位 serial.setParity(QSerialPort::NoParity); // 校验位 serial.setStopBits(QSerialPort::OneStop); // 停止位 serial.setFlowControl(QSerialPort::NoFlowControl); // 流控制 if (!serial.open(QIODevice::ReadWrite)) // 打开串口 { qDebug() 串口打开失败; return -1; } // 发送数据 QByteArray data Hello, world!; qint64 bytesWritten serial.write(data); qDebug() bytesWritten 字节已写入; // 接收数据 QByteArray readData serial.readAll(); qDebug() readData; return a.exec();
}在上面的示例代码中首先使用QSerialPortInfo::availablePorts()函数查找可用串口并使用QSerialPort类的各种方法来配置串口。然后使用serial.write()函数向串口发送数据并使用serial.readAll()函数从串口接收数据。在接收数据时使用QByteArray类来存储接收到的数据并使用qDebug()函数打印出来。