【QSerialPort】
该类提供访问串口的功能。你可以使用QSerialPortInfo帮助类获取系统上可用的串口的信息,可以枚举系统上存在的所有串口。通过该类你可以获取串口的正确名称。你可以传递一个该类的对象作为setPort()或者setPortName()方法的参数指定想要访问的串口设备。在设置完了串口,你就可以以只读或者只写或者读写模式调用open()方法打开串口。
注意:串口都是以互斥的方式访问,这也就是说我们不能打开一个已经打开的串口。
成功打开之后,QSerialPort尝试着获取串口当前的配置并初始化它。你也可以使用setBaudRate(),setDataBits(),setParity(), setStopBits()
和setFlowControl()方法重新配置它。控制管脚的状态是根据isDataTerminalReady(),isRequestToSend()和pinoutSignals()决定的。要改变控制信息,可以使用如下方法:setDataTerminalReady()和setRequestToSend()。
一旦你知道了串口可用于读或者写,你就可以调用read()或者write()方法。可选的还有readline()和readAll()方法。如果数据不能在一次读完,那么剩下的数据接下来就会存在QSerialPort的内部缓冲区中。你可以使用setReadBufferSize()方法设置缓冲区的大小。可以使用close()方法来关闭串口和取消I/O操作。看看下面的示例:
- <strong><span style="font-family:Verdana;font-size:18px;">int numRead = 0, numReadTotal = 0;
- char buffer[50];
- forever {