Qt5.13.1版本下SerialPort的信号槽&QSerialPort::readyRead 不触发或触发有问题的解决办法

本文介绍了在Qt5.13.1版本下,QSerialPort的readyRead信号未触发或触发异常的问题,以及解决这些问题的具体步骤。包括确认Qt的QSerialPort模块配置,修改源码,重新编译并替换相关库文件,以确保串口通信的正常进行。
摘要由CSDN通过智能技术生成

    上周想测试写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模块,如下图所示:

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值