64位Windows上的Javax.comm API
我使用javax.comm API帮助我的程序通过串口与硬件通信。我正在使用Windows7和NetBeansIDE9 我使用通用Java程序检查电脑上的可用端口。该程序编译并运行时没有错误。然而,它什么也没有返回 如何在Windows上使用javax.comm API?win32com.dll似乎不适用于64位操作系统 win32com.dll似乎不适用于64位操作系统 我认为这是正确的。事实上,根据相关的下载页面,Oracle不再支持任何Windows平台的64位Windows上的Javax.comm API,java,windows-7,serial-port,javax.comm,Java,Windows 7,Serial Port,Javax.comm,我使用javax.comm API帮助我的程序通过串口与硬件通信。我正在使用Windows7和NetBeansIDE9 我使用通用Java程序检查电脑上的可用端口。该程序编译并运行时没有错误。然而,它什么也没有返回 如何在Windows上使用javax.comm API?win32com.dll似乎不适用于64位操作系统 win32com.dll似乎不适用于64位操作系统 我认为这是正确的。事实上,根据相关的下载页面,Oracle不再支持任何Windows平台的javax.commAPI 然而,
javax.comm
API
然而,我发现其中有一个64位的DLL构建
编辑
通过一项令人震惊的研究(即跟踪链接和阅读资料),我找到了最新RXTX的最新版本,该版本声称拥有适用于各种平台的二进制文件。如果您的平台不存在,请尝试从源代码构建。如果这不起作用,考虑投资使它发挥作用。< / P >你有没有看一看?我认为它仍然处于活动状态。最近2.2pre版本的RXTX包括用于64位windows的二进制文件。我认为最新的RXTX信息来源已经改变为:而不是尽管
RXTX库一度包含了对使用javax.comm api的直接支持。我不确定它是否仍然存在,但使用“本机”RXTX包的主要更改主要是包名更改。我遇到了这个问题…在64位机器上..运行windows 7 在JDK1.4中开发的用于32位windows的遗留应用程序。。。并使用win32 comm api二进制文件 我尝试了64位的RXTX二进制文件,我能够在某种程度上与我的设备通信。。。但是还有其他问题,因为我的应用程序引用了jpos库的一个版本,该版本在内部使用comm api(在某些串行…侦听器类中导入了javax.comm.*) 我安装了一个32位jdk,并按照此处的指示为32位windows设置了comm api二进制文件
之后一切都很好你可能会对我编写的另一个库感兴趣:我已经将RXTX库集成到我以前的一些项目中,我在windows下使用comm ports时发现了这个bug,所以在进行一些严肃的应用程序设计之前,你可能想先检查一下。 通信工作正常,从来没有任何问题,但一旦你打开端口,你就无法关闭它并重新打开,如果你使用为关闭端口提供的方法,你的应用程序就会挂起,没有例外,什么都没有。我后来发现了用户在web上描述的相同行为,但从未真正找到解决此问题的方法。 同样,这可能会帮助您节省一些时间,请先检查它
最新的版本,就是这个,不再有这个问题了。不幸的是,我认为它只能在windows上解决,在Linux二进制文件上仍然存在,而且我还没有在mac上尝试过。这就是我如何让它工作的。
我已经在Windows7 64位机器上使用JDK1.6(32位)对其进行了测试
现在运行您的程序,它应该可以工作。谢谢Stephen,我访问了您提到的链接,我看到这个包是针对Linux的。不过,我想要一个windows软件包。嗨,彼得,我有RXTX,但我在如何使用它方面有问题。我希望我能得到几个使用RXTXIt的示例代码,这里已经解释过了,你读过了吗?你是说rxtx包和javax.comm有相同的类和方法吗?我不确定是否可以使用与旧版本RXTX中javax.comm相同的过程。您可以使用javax.comm包和Java comm API的类,RXTX是一个简单的插入式实现替代品。在RXTX的较新版本中,您需要将导入的包从“javax.comm.*”更改为“gnu.io.*”。除此之外,类和API可能99%相同。比较此处的两个API:。