我目前正在使用RXTX编写Java程序,需要从一个串口接收原始数据,将其延迟并将其发送到另一个端口。延迟将在几秒钟的数量级,因此分辨率并不重要。
我看了一下RXTX在他们的wiki上的示例,似乎所有这些示例都使用了inputstream api中的read方法。对于我的应用程序,这似乎没用,因为它只返回流中的字节数,当我的程序只需要接收它看到的任何数据时。
输入数据来自收音机,该收音机以5Hz的速率接收数据块(每0.2秒一个数据块)。
我已经采用了他们的示例程序并对其进行了编辑,以便我可以立即连接到我选择的两个串行端口,因此连接到端口不是问题。
有人可以帮我使用RXTX从串口读取数据并将其写入另一端口吗?我可以用睡眠来介绍我的延迟吗?
答案 0 :(得分:0)
InputStream不会返回字节数,而是返回read()
的字节。您可以读取字节,执行延迟并写入另一个串行端口。
byte[] buffer = new byte[1024];
int bytesRead = 0;
while((bytesRead = inputStream.read(buffer)) != -1)
{
Thread.sleep(5000);
// then write to the target serial port.
}