3

我正在编写一个 java 程序,现在我有一个包含 COM 端口号的设置文件。如果设备更改 COM 端口号,则必须更改。

这不是很用户友好。因此,我希望能够获得 COM 端口 ID 的列表,并让用户通过其 ID 选择正确的设备。我试过谷歌搜索,但没有多大成功。

通过 ID 我的意思是如果您检查设备管理器:“COM 端口 ID (COM<#>)”。检查下图中带有红色标记的文本:

在此处输入图像描述

我尝试了以下库:

  • javax.comm - CommPortIdentifier,getPortIdentifiers();
  • jssc - SerialPortList.getPortNames();

但是我一直无法确定是否可以获取 COM 端口 ID,因为上述两种方法只是返回 COM 端口的编号。有谁知道获取 COM 端口 ID 的方法?

4

1 回答 1

2

我使用 rxtxcomm.jar 和 rxtxSerial.dll 与 Arduino 进行通信。此代码段应该为您提供可用端口:

@SuppressWarnings("unchecked")
Enumeration<CommPortIdentifier> portEnum = CommPortIdentifier.getPortIdentifiers();

while (portEnum.hasMoreElements()) {
    CommPortIdentifier currPortId = portEnum.nextElement();
    System.out.println(currPortId.getName() + " - " + currPortId.getCurrentOwner());
}

这是一篇包含更多详细信息的文章:https ://blog.henrypoon.com/blog/2010/12/25/installing-rxtx-for-serial-communication-with-java/

于 2016-06-10T16:07:44.363 回答