QSerialport readyRead 信号偶发不响应问题

发布时间 2023-06-22 16:12:21作者: 掌控命运

开发环境:QtCreator4.8.2 + Qt5.12.2

  1、操作方式 独立线程 控制串口对象读写

    1)写操作: write +  waitForBytesWritten;

    2)读操作:readyRead + bytesAvailable + readAll

  2、问题现象 偶发 readyRead 不响应 数据未丢失 下一次触发数据可继续回读

  3、问题原因:读写共一个线程,写操作 waitForBytesWritten 会阻塞线程,导致信号丢失

  4、解决方法:取消 write +  waitForBytesWritten,采用 write +  flush 的方式 不会长时间阻塞线程