JAVAX.COMM下载以及实现串口通讯

本文详细介绍了如何在Java环境中配置和使用javax.comm插件进行串口通信,包括下载、环境搭建步骤及注意事项,并提供了一个简单的代码示例来展示如何获取并输出串口号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javax.comm下载和使用方法如下:

1.下载链接:

https://pan.baidu.com/s/1nuQoYZf(百度云存放目录:java\javax.comm_win32.注:如果链接失效,请联系qkmc@outlook.com

2.环境搭建:

(1) 将 Sun 公司提供的 Javax.comm 类库包 java.

comm.win32. zip(可从 http://java.sun.com 下载) 解压。

(2) 将 win32com.dll 文件拷贝至<JDK> \ bin 目录

下。

(3) 将 comm.jar、javax.comm.properties 文 件 拷 贝

至<JDK> \ lib 目录下。

(4) 将comm.jar 文件添加到 classpath 环境变量中。(环境变量请自行百度解决,恕在下不在这里讲解)

 

3.注意:

据作者了解到,javax.comm是sun公司之前发布的一款插件,到目前为止,串口通讯绝大部分用C++或者其他编程语言实现,java在这方面占据的部分非常小。由于这是一款比较老的插件,所以请使用前确认您的jdk和jre环境为32位。如果您的环境是64位的,可能出现不支持的情况,至少作者是没有找到解决方案的。如果您有什么好的建议,也请联系qkmc@outlook.com

在64位情况下使用此插件在加载插件时将会出现如下的情况:

控制台输出:Error loading win32com: java.lang.UnsatisfiedLinkError: D:\jdk1.8.0_20\bin\win32com.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

4.使用JAVAX.COMM

如下是一个简单的示范代码(如何获取到串口号并输出)

package test;

import java.io.InputStream;
import java.util.Enumeration;

import javax.comm.CommDriver;
import javax.comm.CommPortIdentifier;
import javax.comm.SerialPort;


public class TestGetPortSerialsCode {
	    
		static CommPortIdentifier portId;  //串口号Id
	    static Enumeration portList;  // 获取到的多个串口号是一个枚举类型的数据结构

	    public static void main(String[] args) {  
	      /*  //这一部分是加载驱动,如果你的代码运行没有反应,请去掉注释后再调试
	    	CommDriver driver = null; 

	    	String driverName = "com.sun.comm.Win32Driver"; 
	 
	        try { 
	            driver = (CommDriver) Class.forName(driverName).newInstance(); 
	            driver.initialize(); 
	        } catch (InstantiationException e){ 
	            e.printStackTrace(); 
	        } 
	        catch (IllegalAccessException e){ 
	            e.printStackTrace(); 
	        } 
	        catch (ClassNotFoundException e){ 
	            e.printStackTrace(); 
	        }
	       */
	        
	        
	        
	        portList = CommPortIdentifier.getPortIdentifiers();  
	       
	        System.out.println("flag:"+portList.hasMoreElements());  //输出是否存在端口
	        
	        while (portList.hasMoreElements()) {  
	           
	        	portId = (CommPortIdentifier) portList.nextElement();  
	           
	        	if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {  
	        		
	        		System.out.println(portId.getName());
	           
	        	}  
	        }  
	    }  
}

更多信息请参考大神级别文章:

http://blog.youkuaiyun.com/pigteacher/article/details/5619955  Javax.comm安装和使用

http://wenku.baidu.com/link?url=teOH-3Feyfap_n9D6tGQD5-PlGFdUX18oMtfM1mHI8e_h4YwRBej4Q3oKZal67n_ipabYMfW1TbbV6oX5SVo4bBw92X8AEa-qPGU9hQJiUK             利用comm_jar开发包实现Java与单片机全双工串口通信

 

转载于:https://my.oschina.net/qkmc/blog/803792

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值