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与单片机全双工串口通信