QT使用虚拟串口长时间通信时突然出现收不到串口数据

        作者在使用QT开发上位机软件与STM32单片机进行串口通信时,发现上位机软件串口打开后长时间发收数据,偶尔突然出现上位机一直发送数据到单片机,但QSerialPort::readyRead信号不发射,在发送后等待时间到达后,直接使用QSerialPort::readAll()读出来数据也是空的。使用的电脑系统是Win11,串口驱动试过系统自带USB串行设备驱动和ST官网下载的VCP串口驱动,问题依然存在。

        问题现象重点描述:在发送数据后,等待自己设定的一段时间后仍然收不到数据,说明串口中没有数据可读。再继续下发,也是同样的现象,串口中一直没有数据可读。

        解决办法:到达设定等待时间后没获取到串口数据,调用QSerialPort::close()和QSerialPort::open()重新打开串口,后面再继续下发就可正常收到串口回复数据。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

99.999...%

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值