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

Using rxtx to pipe data from one serial port to another

我目前正在使用 RXTX 编写一个 Java 程序,需要从一个串行端口获取原始数据,延迟它,然后将其发送到另一个端口。延迟将以秒为单位,因此分辨率并不那么重要。

我查看了 RXTX 在其 wiki 上的示例,似乎所有示例都使用了输入流中的读取方法 api。对于我的应用程序,这似乎毫无用处,因为它只是 returns 流中的字节数,而我的程序只需要接收它看到的任何数据。

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

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

谁能帮我用RXTX从串口读入数据并写入到另一个串口?我可以在这里使用睡眠来介绍我的延迟吗?

InputStream 不只是 return 字节数,它 return 是 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.
}