Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 丢弃缓冲读取器中的数据_Java_Arduino_Rxtx - Fatal编程技术网

Java 丢弃缓冲读取器中的数据

Java 丢弃缓冲读取器中的数据,java,arduino,rxtx,Java,Arduino,Rxtx,我正在使用rxtx库通过串口将传感器数据从arduino发送到java程序。问题是新值被快速推送到BufferedReader中,我无法实时处理这些值。我不再使用基于事件的实现,而是每100毫秒轮询一次,并希望丢弃其间的所有值 是否有可能在不知道必须跳过多少字节的情况下清除缓冲读取器?在缓冲区准备就绪时调用readline的while循环似乎非常乏味,我不确定它是否足够快 可以从缓冲读取器中读取一个值,等待100毫秒,然后再次读取最旧的值。另一种可能是限制arduino发送数据的速度,但这是我最

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

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

可以从缓冲读取器中读取一个值,等待100毫秒,然后再次读取最旧的值。另一种可能是限制arduino发送数据的速度,但这是我最不喜欢的方法,因为将来我可能会依赖更高的速度

在缓冲区准备就绪时调用readline的while循环似乎非常乏味,我不确定它是否足够快

java运行的计算机有多慢,这与您的速度有关?PC通常比Arduino上的串行线路快几个数量级

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


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

电脑似乎不是问题。ArduinoIDE的串行监视器工作正常,但将这些值发送到java是问题的开始。今天晚些时候回家后,我将尝试while循环解决方案。我只是觉得应该有一个我没想到的更好的解决方案。谢谢。while循环解决了这个问题。似乎依赖事件侦听器产生了瓶颈。