您好,欢迎访问一九零五行业门户网

Java操作串口

win7环境下java串口数据读写 
    最近在实际项目中,需要java语言来实现对串口数据的读写操作。本来可以用javax.comm这个包的,但是经过几次测试,始终不能读出pc上的串口;于是我换了rxtx包在myeclipse8.6下进行测试,测试结果表明可以获取到pc的可用端口。   
rxtx包下载地址:http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip
下载解压后,其配置环境如下:
把下载包中rxtx-2.1-7-bins-r2windowsi368-mingw32 xtxserial.dll
放到你%java_home%jre bin下面(%java_home%jre bin xtxserial.dll)
把下载包中rxtx-2.1-7-bins-r2rxtxcomm.jar放到%java_home%jre lib ext下面注:%java_home%为你安装jdk的
 如果是myeclipse,其默认jre为   \program files\genuitec\common\binary\com.sun.java.jdk.win32.x86_1.6.0.013,故要将将上面提到的文件放到该jre相应的目录下.
下面是在myeclipse中引用rxtxcomm.jar,选择工程build path,选择configure build
path,选择libraries,点击add exteral
jars按钮,在弹出的对话框中找到rxtxcomm.jar,然后选中,点击打开,再点击ok即可。
好了,下面就可以进行程序的编写了,首先看看能都获取到你pc上的串口,程序如下:
package test;
import java.util.enumeration;
import gnu.io.*;
public class testserial {
@suppresswarnings(unchecked)
static enumeration
portlist;
static commportidentifier portid;
public static void main(string[] args) {
try {
portlist = commportidentifier.getportidentifiers();
//得到当前连接上的端口
while (portlist.hasmoreelements()) {
portid = (commportidentifier) portlist.nextelement();
if (portid.getporttype() == commportidentifier.port_serial)
{//判断如果端口类型是串口
//if (portid.getname().equals(com3)) { //判断如果com3端口已经启动就连接
system.out.println(portid.getname());
}
}
//}
} catch (exception e) {
e.printstacktrace();
}
}
}
测试结果:
stable library
=========================================
native lib version = rxtx-2.1-7
java lib version   = rxtx-2.1-7
com1
更多java操作串口。
其它类似信息

推荐信息