我是一个处理新手,我试图绘制从串口接收到的一些数据。我有很多加速度计(~10),我验证了草图收到了100 the的所有数据。我只想在同一时间绘制一个加速度计的数据。如果我只从一个加速度计中传输数据,那么这个图的工作就完美无缺,但是如果我试图流其中的三个(只绘制第一个),那么这个图的工作就不太好了。奇怪的事情发生时,我试图流4或更多,因为出乎意料的是,情节开始更好地开始工作时,我增加了流加速计的数量。
我注意到serialEvent()和draw()在两个独立线程上正确工作,但是当我添加更多的加速度计时,它们的变化是奇怪的。
在最坏的情况下,如果我在serialEvent() "_“符号中打印serialEvent() "#”符号的System.currentTimeMillis()符号和serialEvent()“_”符号中的serialEvent()符号,则有以下内容:
#1453211104631
#1453211104648
#1453211104664
#1453211104681
#1453211104698
#1453211104714
#1453211104730
#1453211104747
#1453211104765
#1453211104782
#1453211104797
#1453211104813
#1453211104832
#1453211104847
#1453211104864
#1453211104882
#1453211104897
#1453211104914
#1453211104931
#1453211104948
#1453211104964
#1453211104982
#1453211104998
_1453211105000
_1453211105000
_1453211105000
_1453211105000
_1453211105001
_1453211105001
_1453211105001
_1453211105001
_1453211105002
_1453211105002
_1453211105002
_1453211105002
_1453211105002
_1453211105003
_1453211105003
_1453211105003
_1453211105003
_1453211105003
_1453211105004
_1453211105004
_1453211105004
_1453211105004
_1453211105005
_1453211105005
_1453211105005
_1453211105005
_1453211105005
_1453211105006
_1453211105006
_1453211105006
_1453211105006
_1453211105006
_1453211105007
_1453211105008
_1453211105008
_1453211105008
_1453211105008
_1453211105008
_1453211105009
#1453211105014
#1453211105032
#1453211105049
#1453211105064
#1453211105082
#1453211105097
#1453211105114
#1453211105130
#1453211105148
#1453211105165
#1453211105181
#1453211105198
#1453211105214因此,在#1453211105014绘制之前的39点(~390毫秒)在一次拍摄,然后没有200毫秒,然后另一个区块,等等。最后的效果是数据的快速绘制。
当草图接收到的数据很少(一个加速度计)或大量数据(超过6个加速度计)时,就不会发生这种情况。
我哪里错了?
非常感谢您的帮助!
发布于 2016-01-27 17:08:42
我找到解决办法了!我必须更改UART接口(FTDI)的设置。事实上,我发现数据延迟与USB大小和延迟计时器有关(设备管理器、->、COM端口、->、USB串口、->属性、->高级)。欲了解更多信息,请访问DataLatencyFlow.pdf。
我希望它能有用!
https://stackoverflow.com/questions/34904249
复制相似问题