1 Qt 串口通讯
Qt是一个C++应用程序框架。它拥有完备的C++图形库和集成了一系列代码模块, 支持C++,Python,QML,Javascript等多种语言,同时也拥有一套完整的设计、开发工具。 使用Qt开发的软件,相同的代码可以在大多数的平台上编译运行,而不需要修改源代码。 它会自动根据平台的不同,表现平台特有的图形界面风格。
串口使用过程中,可以通过readyRead()信号, 一旦知道串口已准备好读取或写入,就可以使用read()或write()方法。另外,还可以调用readLine()和readAll()便捷方法。 如果不是一次读取所有数据,则在将新的传入数据附加到QSerialPort的内部读取缓冲区后,其余数据将可供以后使用。 您可以使用setReadBufferSize()限制读取缓冲区的大小。
如果waitForReadyRead()返回false,则表示串口连接已关闭或数据传输发生了错误。 如果在任何时间点发生错误,QSerialPort将发出errorOccurred()信号,还可以调用error()来查找上次发生的错误的类型。
测试例程根据Qt官方Terminal Example进行了简单修改。 测试例程串口通讯使用异步(非阻塞)方法,发送操作后,立即返回。
测试板卡数据发送,点击到Console上,输入需要发送的数据,然后回车,就会发送数据, 或者在窗口的工具栏有一个定时发送的测试功能,点击Test
,运行在pc上的串口助手(需要设置一致的串口参数)就会定时收到:测试板卡数据接收测试,在PC串口助手上发送消息,在板卡上的串口工具就会显示: