【发布时间】:2023-03-11 02:13:01
【问题描述】:
我正在使用 rxtx 库通过串行从我的 arduino 将传感器数据发送到 java 程序。问题是新值被如此快速地推送到 BufferedReader 中,以至于我无法实时处理这些值。我从基于事件的实现转移到每 100 毫秒轮询一次,并希望丢弃其间的所有值。
是否有可能在不知道我必须跳过多少字节的情况下清除缓冲的阅读器?在缓冲区准备好时调用 read Line 的 while 循环似乎非常乏味,我不确定它是否足够快。
读取一个值清除缓冲读取器,等待 100 毫秒并再次读取最旧的值会很好。另一种可能性是限制 arduino 发送数据的速度,但这是我最不喜欢的方法,因为将来我可能会依赖更高的速度。
【问题讨论】: