64位Windows上的Javax.comm API

时间:2010-10-18 13:40:48

标签: java windows-7 serial-port javax.comm

我正在使用javax.comm API来帮助我的程序通过串口与硬件进行通信。我使用的是Windows 7和NetBeans IDE 9.

我使用常见的Java程序来检查我的PC上的可用端口。该程序编译并运行没有错误。然而,它什么都没有。

如何在Windows上使用javax.comm API?似乎win32com.dll不适用于64位操作系统。

7 个答案:

答案 0 :(得分:9)

这就是我开始工作的方式 我在Windows 7 64位机器上使用JDK 1.6(32位)进行了测试。

  1. 安装32位JDK。
  2. 将'win32com.dll'复制到JDK_HOME \ jre \ bin。
  3. 将'javax.comm.properties'复制到JDK_HOME \ jre \ lib。
  4. 将'comm.jar'复制到JDK_HOME \ jre \ lib \ ext。
  5. 现在运行你的程序,它应该可以工作。

答案 1 :(得分:5)

最近2.2版本的RXTX包含64位窗口的二进制文件。我认为最新的RXTX信息来源已改为:http://rxtx.qbang.org而不是http://www.rxtx.org

RXTX库一度包含了对使用javax.comm api的支持。我不确定它是否仍然存在,但是使用“原生”RXTX包装的主要变化主要是更改包名称。

答案 2 :(得分:3)

  

似乎win32com.dll无法与64位操作系统一起使用

我认为这是正确的。实际上,根据相关下载页面,Oracle不再支持任何 Windows平台的javax.comm API。

但是,我发现this page有一个64位版本的DLL,等等。

修改

通过一项令人震惊的研究(即链接和阅读内容),我找到了最新的RXTX的download page,它声称拥有各种平台的二进制文件。如果您的平台不在那里,请尝试从源代码构建。如果这不起作用,请考虑投入精力使其发挥作用。

答案 3 :(得分:2)

我已将RXTX库集成到我之前的一些项目中,并且我在使用Windows下的comm端口时发现了它的错误,所以在进入一些严肃的应用程序设计之前,您可能想先检查一下。 通信工作正常,从来没有任何问题,但一旦你打开端口,你无法关闭它并重新打开,如果你使用提供关闭端口的方法,你的应用程序只是挂起,没有例外没有任何东西。我后来发现用户在网络上描述了相同的行为,但从未真正找到解决此问题的方法。 同样,这可能会帮助您节省一些时间,先检查一下。

最新版本,即此http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip,不再有此问题。不幸的是,我认为它只针对Windows解决,它仍然存在于Linux二进制文件中,而我还没有在Mac上试过它。

答案 4 :(得分:1)

你看过RXTX了吗?我认为它仍然活跃。

答案 5 :(得分:1)

我有这个问题......在64位机器上......运行Windows 7

在jdk 1.4中开发的遗留应用程序,用于32位窗口......并使用win32 comm api二进制文件

我尝试了64位的RXTX二进制文件,我能够在某种程度上与我的设备进行通信......但是...还有其他问题,因为我的应用程序引用了内部使用comm的jpos库的一个版本-api(导入javax.comm。* ...在某些Serial ... Listener类中)....

我安装了 32位jdk 并按照此处的指示设置了32位窗口的comm-api二进制文件... setup comm api on windows

之后一切都很好

答案 6 :(得分:1)

您可能对我撰写的替代图书馆感兴趣:http://code.google.com/p/jperipheral/