在QT5中,我们友好的编译器亲切的为我们提供了串口类,让我们不再为简单的使用串口而发愁,这里就简单介绍一下我对串口类的理解。
串口类中包含了两大类QSerialPort与QSerialPortInfo。
QSerialPort是直接对串口进行操作的类,在其中你可以直接设置波特率,数据位,校验位,停止位等等。
QSerialPortInfo是辅助你进行串口操作的类,在其中你可以了解当前串口的信息。
那么接下来就简单实现一个应用串口的实例:
1.在QT5中使用串口类
首先,你需要知道,串口类是QT中除core,gui的另一个模块,如同你需要在QT中运用multimedia模块一样,你需要在QT的工程文件(.pro)中加入一段代码,QT += serialport,这样你才可以正常的在QT中使用,另外说一句,QT5默认是不接受C++11的语法的,如果你需要在QT中使用,也需要添加支持,在工程文件中加入CONFIG += C++11,这样才能使用。
2.找寻你机器中可用的串口,并显示出来
你要使用机器的串口,首先你需要找到他,那么如何寻找到呢?
首先我们需要用到QSerialPortInfo类中的一个成员函数availablePorts(),顾名思义,这个方法是读取你当前机器中全部的可用串口,方法返回的是一个QList<QSerialPortInfo>,这样你就可以使用QSerialPortInfo类中对串口的信息描述的方法了,如description(),manufacturer(),portName()等等。实例如下图:
3.设置串口参数
在这之前我们已经找寻到了我们机器中的串口,我们用的是QSerialPortInfo类,来将我们的串口名称显示,那么接下来,我们只需要构建一个QSerialPort对象就可以了,我们查询QT文档发现QSerialPort类的构造函数其中有一种是以QSerialPortInfo为参数的,那么正好我们可以利用到我们之前查询到的串口了。
这样做的好处是,我们不会创造出一个本身不存在的串口对象,因为我们已经使用QSerialPortInfo类中的成员函数availablePorts()将所有存在的串口对象显示出来了。
那么接下来我们需要做的就是设置串口参数,这个我们使用switch来实现,对于串口来说,最重要的参数是波特率(BaudRate),停止位(StopBits),数据位(DataBits),校验位(Parity),我们只需要相应的set就可以了。
注:串口参数在QT文档中有着具体的实现,我们只需要查询即可。
(未完待续)