我正在编写一个 java 程序,现在我有一个包含 COM 端口号的设置文件。如果设备更改 COM 端口号,则必须更改。
这对用户来说不是很友好。因此,我希望能够获得 COM 端口 ID 的列表,并让用户通过其 ID 选择正确的设备。我试过谷歌搜索,但没有太大的成功。
ID 我的意思是如果您检查设备管理器:“COM 端口 ID (COM<#>)”。检查下图中红色标记的文字:
我尝试了以下库:
- javax.comm - CommPortIdentifier,getPortIdentifiers();
- jssc - SerialPortList.getPortNames();
但我一直无法找到是否可以获取COM端口ID,因为以上两种方法都只返回COM端口号。有谁知道获取 COM 端口 ID 的方法吗?
最佳答案
我使用 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/
关于Java - 获取 COM 端口 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37659670/