Windows64位机使用RXTX开源包的安装和环境配置

由于毕设要做的东西涉及到了传感器,所以需要实现串口通信。今天学习了一下相关内容,但在最开始环境配置的时候就走了点弯路,所以稍微记录一下。


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

注意别下错了,上面的2.1依旧是不支持64位系统的……

软件环境搭建

下载后解压,找到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<String> findPort() {

            @SuppressWarnings("unchecked")
            //获得当前可用串口
            Enumeration<CommPortIdentifier> portList = CommPortIdentifier.getPortIdentifiers();//获得所有串口

            ArrayList<String> portNameList = new ArrayList<>();
            //串口名字添加到List并返回    
            while (portList.hasMoreElements()) {
                String portName = portList.nextElement().getName();
                portNameList.add(portName);
            }
            return portNameList;
        }
}

测试成功!接下来就可以继续着手实现串口通信咯~

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值