Qt入门教程硬件编程QSerialPort串口对象

Posted 编程小鱼酱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt入门教程硬件编程QSerialPort串口对象相关的知识,希望对你有一定的参考价值。

描述

您可以使用 QSerialPortInfo 帮助程序类获取有关可用串行端口的信息,该类允许枚举系统中的所有串行端口。 这对于获取您要使用的串行端口的正确名称很有用。 您可以将帮助程序类的对象作为参数传递给 setPort() 或 setPortName() 方法,以分配所需的串行设备。
设置端口后,您可以使用 open() 方法以只读 (r/o)、只写 (w/o) 或读写 (r/w) 模式打开它。
注意:串口总是以独占方式打开(即没有其他进程或线程可以访问已经打开的串口)。

使用 close() 方法关闭端口并取消 I/O 操作。

成功打开后,QSerialPort 会尝试确定端口的当前配置并自行初始化。您可以使用 setBaudRate()、setDataBits()、setParity()、setStopBits() 和 setFlowControl() 方法将端口重新配置为所需的设置。
有几个属性可用于引脚分配信号,即:QSerialPort::dataTerminalReady、QSerialPort::requestToSend。也可以使用 pinoutSignals() 方法来查询当前的 pinout 信号集。
一旦您知道端口已准备好读取或写入,您就可以使用 read() 或 write() 方法。或者,也可以调用 readLine() 和 readAll() 便捷方法。如果不是一次读取所有数据,则剩余数据将在以后可用,因为新的传入数据将附加到 QSerialPort 的内部读取缓冲区。您可以使用 setReadBufferSize() 限制读取缓冲区的大小。
QSerialPort 提供了一组函数,这些函数可以暂停调用线程,直到发出某些信号。这些函数可用于实现阻塞串口:

  • waitForReadyRead() 阻塞调用,直到有新数据可供读取。<
开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于Qt入门教程硬件编程QSerialPort串口对象的主要内容,如果未能解决你的问题,请参考以下文章

Qt Widget 之简易串口助手(QSerialPort)

Qt Widget 之简易串口助手(QSerialPort)

Qt5 串口类QSerialPort

Qt5 串口类QSerialPort

QT5串口编程

Qt 串口类QSerialPort 使用笔记