weixin_44311902 2019-05-13 09:51 采纳率: 0%
浏览 1929

QSerialPort 一个485串口连接几个不同设备(不同协议)如何快速切换 ?

我有一个项目里要用QSeialPort 一个串口连接几个设备(不同协议,但串口设置相同,9600,N,8,1)。
其中有只需要主机只发命令的,也有主机与从机一问一答的,采用轮询的方式与从机通信。实际测试下来发现当不同协议设备之间用write()函数给串口写命令时,串口需要Sleep很长时间,大约需要1秒延时才能实现正常的主从之间通信。但相同协议的设备串口用write()写命令时串口就不需要sleep那么长时间。问题是如何才能快速的在不同协议设备之间快速切换 ? 会不会时因为有的设备串口硬件反应比较慢造成的,但是如果串口单独连接“慢的设备”它又很正常

  • 写回答

1条回答 默认 最新

  • 竹林lg5 2019-12-05 16:06
    关注

    使用信号槽,发送和接收不要写在一起。
    串口接收完数据以后会有readyread信号。

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?