qt串口数据接收及图形绘制

QT上位机使用串口通信如何解析下位机发送过来的数据,使用这些数据用customplot绘制曲线图

  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:QT串口接收数据处理
  • 除此之外, 这篇博客: QT串口大量数据动态实时显示(三)========“customplot绘图步骤”中的    第一部分: 串口接收大量数据动态显示的难点 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  •     串口大量数据QT接收时问题的原因:

        (1)10ms40个8位数。在示波器上监视串口波形,其实这个总线负载率差不多到了60%。如果再想传输更多的数据,只能利用更高的波特率,但是119200差不多是最高的波特率了,更高的只能自己去编写代码,比较麻烦。将总线负载率进一步升高。底层的传输机制不太允许(底层芯片的DMA传输已经用上),传输数据太多容易引起错误码。

        (2)上层串口接收机制不完善,也就是《一》中介绍的串口接收readyread函数和readall函数的问题,所以传输数据不能进一步增加。进一步增加之后接收中断(暂时这样叫吧)次数也随之增加,影响绘图时间,同时接收的数据会出现丢点现象,这一点我在试验时验证过,接收数据太多就会丢点。

        (3)接收数据多之后,绘图就会增加。数据点增加不会大幅度增加时间,但是增加图表数量会增加程序执行时间,对串口的接收造成影响。这一点也经过验证。

        选择customplot绘图的原因:

        (1)程序简单,(2)图表多种多样,好看,(3)手势程序简单(观察波形时使用)