使用Java和Java的串行端口通信Eclipse中的RXTX

时间:2012-12-24 07:29:50

标签: java eclipse serial-port rxtx

要编写一个java应用程序与Windows环境中的串行端口设备进行通信,谷歌浏览似乎转向了许多方向,也喜欢某些第三方工具库,如RXTX JavaComm。使用eclipse Reference尝试使用RXTX示例代码。

输出中没有显示串行端口空白

输出:

  

稳定的图书馆

     

Native lib Version = RXTX-2.1-7

     

Java lib Version = RXTX-2.1-7

我犯了什么错误?

让我知道这种方法是更好还是建议我更好的解决方案?

请告诉我这个问题的替代方案,我想通过串口使用java与设备通信,数据将从设备发送,应该写入文件。

提前致谢

1 个答案:

答案 0 :(得分:3)

如果链接的示例失败,则表示RXTX未检测到计算机上的任何串行端口。您的计算机上可能有一个串行端口,但操作系统无法识别的原因之一可能是,因为它实际上是一个串口转USB适配器,并被识别为USB端口。

如果你在Linux上,串口通常如下所示:

ls /dev/ttyS*

输出:

/dev/ttyS0
/dev/ttyS1
/dev/ttyS2

适应的端口可能如下所示:

/dev/ttyUSB0

如果您可以在串行连接设备上看到一些输出(例如POS打印机或LCD显示器),您可以像这样测试:

echo 'hello' > /dev/ttyUSB0

如果设备连接到该端口并且一切正常,则设备应显示'hello'字符串。

但是,我肯定会推荐Java simple serial connector库而不是RxTx。我们已经在商业POS应用程序中尝试了这两种方法(目前大约有1M张票)。

RxTx正在成功用于顺序打印。在打印方案中,RxTx库按顺序调用,仅用于将数据发送到端口。只有一些串行标志是红色检测设备的buissiness。

但由于其局限性,我们根本无法用它来读取串行连接的IButton的输入。在iButton场景中,预计数据将从端口以异步方式接收。当我们尝试使用RxTx实现它时,常常出现错误和挂起,但是使用JSSC它几乎实现了immediatley。