我目前遇到了一个问题。我正试图编写一个实时绘图程序,需要从Arduino接收数据。我可以成功地打开串口并正确读取信息并绘制图形。问题是,如果我不指定缓冲区大小,则输入缓冲区被认为是无限的(现在以300Hz-4800Hz的速率读取数据,你可以想象你的电脑内存最终可能会填满,导致一切崩溃!)。
现在我尝试过类似这样的东西:
现在,这确实成功设置了缓冲区大小。我使用
问题是,一旦缓冲区已满,程序就停止绘图。现在我想做的是:
1.设置缓冲区大小(只需一次) 2.读取串口 3.绘制数据 4.清空缓冲区(serial->clear())。
重复步骤2-4。
但是这似乎不起作用。
我正在使用
现在我尝试过类似这样的东西:
serial->setReadBufferSize(5000);
现在,这确实成功设置了缓冲区大小。我使用
serial->readBufferSize()
确认它是否起作用。问题是,一旦缓冲区已满,程序就停止绘图。现在我想做的是:
1.设置缓冲区大小(只需一次) 2.读取串口 3.绘制数据 4.清空缓冲区(serial->clear())。
重复步骤2-4。
但是这似乎不起作用。
我正在使用
QCustomPlot
进行实时绘图。