我正在使用 javax.comm API 来帮助我的程序通过串行端口与硬件通信。我正在使用 Windows 7 和 NetBeans IDE 9。
我使用通用 Java 程序来检查我的 PC 上的可用端口。该程序编译并运行没有错误。然而它什么也没返回。
如何在 Windows 上使用 javax.comm API?win32com.dll 似乎不适用于 64 位操作系统。
我正在使用 javax.comm API 来帮助我的程序通过串行端口与硬件通信。我正在使用 Windows 7 和 NetBeans IDE 9。
我使用通用 Java 程序来检查我的 PC 上的可用端口。该程序编译并运行没有错误。然而它什么也没返回。
如何在 Windows 上使用 javax.comm API?win32com.dll 似乎不适用于 64 位操作系统。
这就是我让它工作的方式。
我已经在我的 Windows 7 64 位机器上使用 JDK 1.6(32 位)对其进行了测试。
现在运行您的程序,它应该可以工作。
RXTX 的最新 2.2pre 版本包括 64 位窗口的二进制文件。我认为最新的 RXTX 信息源已更改为:http ://rxtx.qbang.org而不是http://www.rxtx.org。
在某一时刻,RXTX 库包括对使用 javax.comm api 的直接支持。我不确定它是否仍然存在,但是使用“本机”RXTX 包装的主要变化主要只是包名称的变化。
我已经将 RXTX 库集成到我早期的一些项目中,并且在 Windows 下使用 comm 端口时发现了这个错误,因此您可能需要先检查一下,然后再进行一些严肃的应用程序设计。通信工作正常,从来没有任何问题,但是一旦您打开端口,您将无法关闭它并重新打开,如果您使用提供的关闭端口的方法,您的应用程序就会挂起,无一例外。后来我在网络上发现了用户描述的相同行为,但从未真正找到解决此问题的方法。同样,这可能会帮助您节省一些时间,请先检查一下。
最新版本,即http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip,不再有这个问题。不幸的是,我认为它仅适用于 Windows,它仍然存在于 Linux 二进制文件中,而且我还没有在 mac 上尝试过。
您可能对我编写的替代库感兴趣:http ://code.google.com/p/jperipheral/
你看过RXTX吗?我认为它仍然是活跃的。
我有这个问题......在 64 位机器上......运行 Windows 7
在 jdk 1.4 中开发的遗留应用程序,用于 32 位 Windows...并使用 win32 comm api 二进制文件
我尝试了 64 位的 RXTX 二进制文件,我能够在某种程度上与我的设备通信......但是......还有其他问题,因为我的应用程序引用了内部使用 comm-api 的 jpos 库版本(在某些 Serial...Listener 类中导入 javax.comm.*...)...
我安装了32 位 jdk并按照此处的指示为 32 位 Windows 设置了 comm-api 二进制文件...在 Windows 上设置 comm api
之后一切都很好