Qt 串口类QSerialPort 使用笔记
来源:互联网 发布:网络贷款不还的后果 编辑:程序博客网 时间:2024/06/04 17:47
Qt 串口类QSerialPort 使用笔记
虽然现在大多数的家用PC机上已经不提供RS232接口了。但是由于RS232串口操作简单、通讯可靠,在工业领域中仍然有大量的应用。Qt以前的版本中,没有提供官方的对RS232串口的支持,编写串口程序很不方便。现在好了,在 Qt5.1 中提供了QtSerialPort模块,方便编程人员快速的开发应用串口的应用程序。 本文就简单的讲讲QtSerialPort模块的使用。
当前的QtSerialPort模块中提供了两个C++类,分别是QSerialPort 和QSerialPortInfo。
QSerialPort 类提供了操作串口的各种接口。
QSerialPortInfo 是一个辅助类,可以提供计算机中可用串口的各种信息。
使用方法
先介绍 QSerialPortInfo 的使用。下面是一个简单的例子,用来列举出电脑上全部的串口设备。
首先,需要在pro文件中增加如下内容:
QT += serialport
Cpp 文件如下:
在我的电脑上显示的结果如下:
通常,我们需要指定程序使用某一个确定的串口,这时不能只使用串口名称,因为USB串口每次插在不同的USB口上时获得的串口名称都可能有变化。这时可以利用串口的序列号,这个号码一般来说是唯一的,比如下面的代码,首先遍历所有的串口,找到我们需要的串口后就返回。
QSerialPort 负责具体的串口操作。选定串口后,要先打开串口,才能设置波特率等参数。这些参数都设置好了就可以使用了。最基本的操作无非是read() 和 write()。需要注意的是这两个操作都是非阻塞的。
另外有一个重要的signal 也需要用到,那就是 void QIODevice::readyRead()
每次串口收到数据后都会发出这个signal。我们的程序中需要定义一个slot,并将其与这个signal 相连接。这样,每次新数据到来后,我们就可以在slot中读取数据了。这时一定要将串口缓冲区中的数据全部读出来,可以利用readAll() 来实现。
下面的代码片段给出了设置串口的例子。
- Qt 串口类QSerialPort 使用笔记
- Qt 串口类QSerialPort 使用笔记
- Qt之串口类QSerialPort使用笔记
- Qt 串口类QSerialPort 使用笔记
- Qt 串口类QSerialPort 使用笔记
- Qt 串口类QSerialPort 使用笔记
- Qt 串口类QSerialPort 学习笔记
- QT 使用串口类出现“undefined reference to QSerialPort::QSerialPort(QObject*)错误
- (1)Qt利用QSerialPort使用串口
- 使用QT-QSerialport打不开串口的原因
- 初次使用QT5串口类QSerialPort
- 初次使用QT5串口类QSerialPort
- QT串口编程的相关类2(QSerialPort)
- 利用Qt中QSerialPort的类写串口通讯助手
- QT QSerialPort类使用时连接出错(VS)
- 使用QSerialport读取串口数据并处理
- QSerialPort类
- QT5 学习记录 QSerialPort 类实现串口调试工具
- Coursera | Andrew Ng (01-week-1-1.2)—什么是神经网络?
- Mysql介绍及多实例配置实战
- C语言的小项目----三子棋
- OC线程
- 程序员不可能实现的6个愿望
- Qt 串口类QSerialPort 使用笔记
- memcache常用方法
- 跑马灯
- CondenseNet算法笔记
- 加载并执行一个 JS 文件。
- python __new__ __init__ __call__详解
- LeetCode [12. Integer to Roman]
- Java基础 7 类型转换 接口 内部类
- 上传图片