Java对串口编程的API包
常见的针对Java的串口包:
- comm2.0.jar(Windows环境下)
- comm3.0.jar(Linux/Solaris环境下)
- 开源的API如Rxtx的jar包
我一开始看了几篇文章,用的是comm2.0.jar,后来测试时后报错,报错内容是它并不支持64位系统。而且comm2.0.jar太老了,所以还是使用Rxtx。不然的话还有一个解决方法就是重新去装32位的jdk。Rxtx的开源包去官网下载即可:http://rxtx.qbang.org/wiki/index.php/Download#x64_Binaries
软件环境搭建
下载后解压,找到RXTXcomm.jar,并根据自己系统在win64下找到rxtxSerial.dll。
找到自己jdk的根目录,比如我的jdk的根目录是“E:\ProgramFiles\Java\jdk1.8.0_60”,接下来将使用“%JAVA_HOME%”来代替。
复制rxtxSerial.dll到“%JAVA_HOME%\jre\bin”下
复制RXTXcomm.jar到“%JAVA_HOME%\jre\lib\ext”和“%JAVA_HOME%\lib”下
好像还应该设置一下环境变量
在此电脑右键->属性->高级系统设置->右下角环境变量,找到系统变量的CLASSPATH双击,添加一下新的jar,确定即可。
代码测试
用下面一段代码做一下测试。代码实现的是找到可用端口并返回。可以对照设备管理器。
package com.pc.serialport;
import java.util.ArrayList;
import java.util.Enumeration;
import gnu.io.CommPortIdentifier;
public class FindPort {
public static void main(String[] args)
{
for(String tmp:findPort()){
System.out.println(tmp);
}
System.exit(0);
}
public static final ArrayList findPort() {
@SuppressWarnings("unchecked")
//获得当前可用串口
Enumeration portList = CommPortIdentifier.getPortIdentifiers();
//获得所有串口ArrayList portNameList = new ArrayList<>();
//串口名字添加到List并返回
while (portList.hasMoreElements()) {
String portName = portList.nextElement().getName();
portNameList.add(portName);
}
return portNameList;
}
} 【Windows64位机使用RXTX开源包的安装和环境配置】原文:https://blog.csdn.net/concisefreedom/article/details/67085946
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)