java - rxtx com 端口

标签 java serial-port rxtx

我正在使用 rxtx api 通过 com 端口从 GPS 设备读取数据。现在,我通过读取配置文件并查找列出的端口来找到正确的 com 端口。我遇到的问题是,如果设备被拔掉,com 端口可能会发生变化,那么用户必须知道如何更改配置文件。我用 C# 编写了一个与此类似的应用程序,并且能够列出 Windows 设备名称而不是 com 端口,并且我循环访问 com 端口,直到设备名称与配置文件中的名称匹配。使用该方法,即使所使用的 com 端口发生变化,配置文件中的任何内容也不必更改。有没有办法使用 rxtx api 来做到这一点?

提前致谢!

最佳答案

如果有人感兴趣...

我用 C# 创建了一个监视套接字的 Windows 服务。如果客户端连接到该套接字,则服务会收集端口名称和该端口上的设备 ID,并通过 com 端口以字符串形式发送数据,然后客户端可以解析该字符串以获取所需的数据。

就我而言,传递的字符串是: “ACPI\PNP0501 *PNP0501,COM1,PCI\VEN_8086&DEV_29B7&SUBSYS_02111028&REV_02 PCI\VEN_8086&DEV_29B7&SUBSYS_02111028 PCI\VEN_8086&DEV_29B7&CC_070002 PCI\VEN_8086 &DEV_29B7&CC_0700,COM3,USB\Vid_067b&Pid_2303&Rev_0400 USB\Vid_067b&Pid_2303,COM5"

当我解析它时,我可以看到ACPI\PNP0501 *PNP0501是COM 1的设备ID,COM​​3有三个设备ID,COM​​5有两个设备ID。

这可能不是处理这个问题的最佳方法,但它足以满足我的需求,并且它使我免于 JNI。 :)

关于java - rxtx com 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/884657/

相关文章:

java - 在 Kotlin/Java 变量名称中使用特殊字符 "$"

java - 没有安全警告的 OpenGL Java Applet

java - 如何在 java 中运行 comport 代码而不在 linux 系统中物理运行它

c# - asp C# 如何在同一个程序中通过串口读取和发送数据

java - RXTX 版本不匹配

java - JRE 经常崩溃。我在 Linux 中将 RXTX 与 Java (1.6) 用于串行通信。异常(exception)

Java对bean集合进行排序的有效方法

java - 字符串按点分割 - Java

linux - 如何从SICK LMS200串口读取数据?

Java应用程序在Eclipse中运行但Jar找不到串行端口