上周想测试写qt的串口功能,搭建了界面,编写了串口收发测试测函数,结果发现,qt串口接收,或者发送遇到问题。
主要是两个问题。1.使用qt的串口发送数据,数据只发送了一次的问题。2.使用虚拟串口给qt串口发数据,无法触发readyRead信号,从而无法触发槽函数的问题。
这两个问题花了一些时间解决,网上搜索发现是Qt5.13.1的Bug。通过这篇文章,找到了解决办法,经过测试,发现可行。
如何使Qt5.13.1的QSerialPort工作? | 经验摘录 (1r1g.com)
如下图是我设计的简单界面,功能还未完善,但具备了串口的打开,关闭,功能,内部使用了qDebug() 来打印是否收到了数据。 并使用 点击按钮的方式来发送helloWorld。
1.简单串口界面
我使用的是Qt5.13.1+VS2019开发的,需要在VS的:菜单栏>>xxx调试属性中添加QSerialPort模块,如下图所示: