【问题标题】:RXTX getPortIdentifiers() returns emptyRXTX getPortIdentifiers() 返回空
【发布时间】:2014-11-06 15:06:15
【问题描述】:

我正在尝试编写一个程序,让 Arduino Uno 通过串行端口与 Java 程序通信。我按照这里 (http://playground.arduino.cc/Interfacing/Java) 的说明进行操作。当我尝试运行代码时,输​​出是“找不到 COM 端口”。当我进一步观察时,我注意到 getPortIdentifiers() 正在返回一个空枚举。

我已经尝试了多种解决方案(RXTX cannot list or find ports under windows 7 64 bitshttp://www.coderanch.com/t/535173/java-io/java/CommPortIdentifier-getPortIdentifiers-empty),但都没有奏效。

我正在运行 64 位 Windows 8。

提前致谢。

【问题讨论】:

    标签: java serial-port arduino rxtx


    【解决方案1】:

    编辑: 使用 RXTX 进行串行通信的步骤是 -

    1. 将 RXTXcomm.jar、rxtxSerial.dll 和 rxtxParallel.dll 文件复制到项目的 lib 目录中
    2. 在列表中展开RXTXComm.jar 条目并选择“Native Library Location”并选择项目lib 目录。

    rxtxSerial.dll 用于限制您的应用程序仅在 Windows 上工作的 Windows。使用JSSC lib可以使其跨平台应用。

    如果您仍在使用 RXTX 库,可能会出现 getPortIdentifier 返回空的“权限”问题。

    【讨论】:

    • 您能详细说明一下吗?
    • 使用 RXTX 进行串口通信的步骤是 - 1. 将 RXTXcomm.jar、rxtxSerial.dll 和 rxtxParallel.dll 文件复制到项目的 lib 目录 2. 在列表中展开 RXTXComm.jar 条目并选择“本机库位置”并选择项目库目录。 rxtxSerial.dll 用于限制您的应用程序仅在 Windows 上工作的 Windows。使用 JSSC lib 可以使其跨平台应用。如果您仍在使用 RXTX 库,可能会出现 getPortIdentifier 返回空的权限问题。
    • 谢谢,现在更清楚了,你能把它放在你的答案中而不是评论中吗? :)
    • 作为答案发布。我也在苦苦挣扎(getPortIdentifier 返回空)。我发现这是权限问题。我正在 Ubuntu 14.04 32bit 上开发,并希望在任何机器上运行该应用程序。经过大量调查,我了解了 jssc lib。所以删除了 rxtx 并安装了它。遗憾的是所有java串口通信教程都使用了相当过时的rxtx lib。
    猜你喜欢
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 2021-07-07
    • 2013-09-30
    • 2021-08-23
    • 2013-04-07
    • 2018-05-21
    • 2016-01-01
    相关资源
    最近更新 更多