QT上位机使用串口通信如何解析下位机发送过来的数据,使用这些数据用customplot绘制曲线图
串口大量数据QT接收时问题的原因:
(1)10ms40个8位数。在示波器上监视串口波形,其实这个总线负载率差不多到了60%。如果再想传输更多的数据,只能利用更高的波特率,但是119200差不多是最高的波特率了,更高的只能自己去编写代码,比较麻烦。将总线负载率进一步升高。底层的传输机制不太允许(底层芯片的DMA传输已经用上),传输数据太多容易引起错误码。
(2)上层串口接收机制不完善,也就是《一》中介绍的串口接收readyread函数和readall函数的问题,所以传输数据不能进一步增加。进一步增加之后接收中断(暂时这样叫吧)次数也随之增加,影响绘图时间,同时接收的数据会出现丢点现象,这一点我在试验时验证过,接收数据太多就会丢点。
(3)接收数据多之后,绘图就会增加。数据点增加不会大幅度增加时间,但是增加图表数量会增加程序执行时间,对串口的接收造成影响。这一点也经过验证。
选择customplot绘图的原因:
(1)程序简单,(2)图表多种多样,好看,(3)手势程序简单(观察波形时使用)