丢弃缓冲读卡器中的数据

时间:2017-06-02 18:06:14

标签: java arduino rxtx

我使用rxtx库通过串口从我的arduino发送传感器数据到java程序。问题是新值被快速推送到BufferedReader中,我无法实时处理这些值。我从基于事件的实现转移到每100毫秒进行一次轮询,并希望丢弃其间的所有值。

是否有可能在不知道我必须跳过多少字节的情况下清除缓冲读卡器?在缓冲区准备就绪时调用read Line的while循环看起来非常乏味,我不确定它是否足够快。

读取清除缓冲读取器的值,等待100 ms并再次读取最旧的值。另一种可能性是限制arduino发送数据的速度,但这是我最不喜欢的方法,因为将来我可能依赖于更高的速度。

1 个答案:

答案 0 :(得分:0)

  

在缓冲区准备就绪时调用read Line的while循环看起来非常乏味,我不确定它是否足够快。

计算机java的运行速度有多慢? PC通常比Arduino上的串行线快几个数量级。

  

另一种可能性是限制arduino发送数据的速度,但这是我最不喜欢的方法,因为将来我可能会依赖更高的速度。

可能是最好的选择。如果您以后需要更高的速度,请更新Arduino上的代码。