使用rxtx将数据从一个串口传输到另一个串口

时间:2015-08-14 13:04:48

标签: java rxtx

我目前正在使用RXTX编写Java程序,需要从一个串口接收原始数据,将其延迟并将其发送到另一个端口。延迟将在几秒钟的数量级,因此分辨率并不重要。

我看了一下RXTX在他们的wiki上的示例,似乎所有这些示例都使用了inputstream api中的read方法。对于我的应用程序,这似乎没用,因为它只返回流中的字节数,当我的程序只需要接收它看到的任何数据时。

输入数据来自收音机,该收音机以5Hz的速率接收数据块(每0.2秒一个数据块)。

我已经采用了他们的示例程序并对其进行了编辑,以便我可以立即连接到我选择的两个串行端口,因此连接到端口不是问题。

有人可以帮我使用RXTX从串口读取数据并将其写入另一端口吗?我可以用睡眠来介绍我的延迟吗?

1 个答案:

答案 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.
}