Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
64位Windows上的Javax.comm API_Java_Windows 7_Serial Port_Javax.comm - Fatal编程技术网

64位Windows上的Javax.comm API

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帮助我的程序通过串口与硬件通信。我正在使用Windows7和NetBeansIDE9

我使用通用Java程序检查电脑上的可用端口。该程序编译并运行时没有错误。然而,它什么也没有返回

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

win32com.dll似乎不适用于64位操作系统

我认为这是正确的。事实上,根据相关的下载页面,Oracle不再支持任何Windows平台的
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位)对其进行了测试

  • 安装32位JDK
  • 将“win32com.dll”复制到JDK_HOME\jre\bin
  • 将“javax.comm.properties”复制到JDK_HOME\jre\lib
  • 将“comm.jar”复制到JDK_HOME\jre\lib\ext

  • 现在运行您的程序,它应该可以工作。

    谢谢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:。