2

在windows环境下编写一个与串口设备通信的java应用程序,在google上浏览似乎转向了很多方向,也喜欢一些第三方工具库,如RXTX JavaComm使用 Eclipse Reference尝试使用 RXTX 示例代码。

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

输出 :

稳定的图书馆

本机库版本 = RXTX-2.1-7

Java 库版本 = RXTX-2.1-7

我犯了什么错误?

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

请让我知道这个问题的替代方案,我想使用 java 通过串行端口与设备通信,数据将从设备发送并写入文件。

提前致谢

4

1 回答 1

3

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

如果您在 Linux 上,串行端口通常如下所示:

ls /dev/ttyS*

输出:

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

调整后的端口可能如下所示:

/dev/ttyUSB0

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

echo 'hello' > /dev/ttyUSB0

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

但是,我肯定会推荐Java 简单的串行连接器库而不是 RxTx。我们已经在商业 POS 应用程序中尝试过这两种应用程序(此时超过 100 万张票)。

RxTx 已成功用于顺序打印。在打印场景中,RxTx 库被顺序调用,仅用于将数据发送到端口。只有一些串行标志是红色的,以检测设备的业务。

但是由于它的限制,我们根本不能用它来读取串行连接的 IButton 的输入。在 iButton 场景中,预计数据将从端口异步接收。当我们尝试使用 RxTx 实现它时,经常会出现错误和挂起,但使用 JSSC 几乎是立即实现的。

于 2012-12-31T10:55:56.060 回答