0
我使用rxtx库通过从我的arduino到java程序的串行发送传感器数据。问题在于新值会被快速推送到BufferedReader中,我无法实时处理这些值。我从基于事件的实现转移到每隔100毫秒轮询一次,并希望放弃两者之间的所有值。在缓冲读取器中丢弃数据
是否有可能清除缓冲读取器而不知道我必须跳过多少字节?调用read Line时while缓冲区准备好的while循环看起来非常乏味,我不确定它是否足够快。
读取一个值可以清除缓冲读取器,等待100 ms并再次读取最早的值就可以了。另一种可能性是限制Arduino发送数据的速度,但这是我最不喜欢的方式,因为将来我可能会依赖更高的速度。
计算机似乎不成问题。 Arduino IDE的串行监视器工作正常,但将这些值发送给java是问题的起点。一旦我今天晚些时候回家,我会尝试while循环解决方案。我只是认为必须有一个我没有想到的更好的解决方案。 – John
谢谢。 while循环解决了这个问题。似乎依靠事件听众产生了一个瓶颈。 – John