javax.comm 2.0 windows下Eclipse的配置
要在Windows下,对计算机的串口或并口等进行编程,可以选择使用Java Communication API (javax.comm)包,现在最新的版本是3.0版本,但是3.0版本并没有支持windows系统的,只有Linux和Solaris,所有我们只能找原来的2.0的版本了。http://llk.media.mit.edu/projects/cricket/software/javaSerial.zip(两个文件夹里面有所需的3个文件),http://mdubuc.freeshell.org/Jolt/javacomm20-win32.zip和(完整的2.0版本,还有examples)。这两个网址上就有2.0版本。如果在Linux下3.0就更加多了,当然官方网站是首选了http://java.sun.com/products/javacomm/。介绍串口编程的文章很多,我自己的学习也是从这些资料中所得,所以这里我不在此一一列举代码了。只把重点放在Eclipse的配置上,怎样加入这三个文件。
当然,我们必须有一段测试代码来来测试是否加入包成功了,所以我在这里给出测试代码。、
import java.util.Enumeration;
import javax.comm.CommPortIdentifier;
public class TestSerial {
/**
* @param args
*/
public static void main(String[] args) {
listPortChoices();
}
public static void listPortChoices() {
CommPortIdentifier portId;
Enumeration en = CommPortIdentifier.getPortIdentifiers();
// iterate through the ports.
while (en.hasMoreElements()) {
portId = (CommPortIdentifier) en.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
System.out.println(portId.getName());
}
}
}
}
ok,以上一段测试代码的含义很简单,是用一个枚举将机器上所有端口名遍历并输出一遍,其中CommPortIdentifier是通讯端口管理的类,具体请查阅javaAPI,在这里主要将配置。
首先来介绍我的方法和我遇到的问题:comm.jar,javax.comm. properties和win32comm.dll。将文件comm.jar拷贝到%JAVA_HOME%\jre\lib\ext;文件 javax.comm. properties拷贝到%JAVA_HOME%\jre\lib; 文件win32comm.dll拷贝到%JAVA_HOME%\bin。注意%JAVA_HOME%是jdk的路径,而非jre。比如说我自己的机器的%JAVA_HOME%\是D:\Program Files\Java\jdk1.6.0_11。但具体拷贝到哪个文件夹下,还是有待商榷的,可能由于版本的不同吧。
导入后,在Eclipse的工程中加入jar包,“工程右键-> properties-> java build path -> libraries -> add external jar”去找到你所放置的comm.jar的位置就可以了。好,下面就可以运行了。
如果运行结果为空,什么输出都没有,一般不太可能是你的机器没有串口,不行去掉 if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) 试试看,不会连并口都没有吧?大多情况下是没有找到javax.comm. properties文件,那你把它再放到JreDIR/jre/lib吧,我的机器是 D:\Program Files\Java\jre6\lib里面,这个时候应该就好了。
如果出现的错误结果是,没有找到comm.jar的红色错误信息,那么也放到jre的bin里面就可以了,我机器是D:\Program Files\Java\jre6\bin中。Eclipse是先找javax.comm. properties文件的,然后再找win32comm.dll,所以如果是没有显示端口时,可能dll也不一定配好了。正常之后我的机器输出的串口是COM3,去掉if条件后输出的是COM3 LPT1 LPT2,我调试的机器是一台笔记本,是没有串口的那种,只有通讯端口一个 RIM Virtual Serial Port v2 (COM3)而已。好了如果输出正常,就说明弄好了,enjoy it.
要在Windows下,对计算机的串口或并口等进行编程,可以选择使用Java Communication API (javax.comm)包,现在最新的版本是3.0版本,但是3.0版本并没有支持windows系统的,只有Linux和Solaris,所有我们只能找原来的2.0的版本了。http://llk.media.mit.edu/projects/cricket/software/javaSerial.zip(两个文件夹里面有所需的3个文件),http://mdubuc.freeshell.org/Jolt/javacomm20-win32.zip和(完整的2.0版本,还有examples)。这两个网址上就有2.0版本。如果在Linux下3.0就更加多了,当然官方网站是首选了http://java.sun.com/products/javacomm/。介绍串口编程的文章很多,我自己的学习也是从这些资料中所得,所以这里我不在此一一列举代码了。只把重点放在Eclipse的配置上,怎样加入这三个文件。
当然,我们必须有一段测试代码来来测试是否加入包成功了,所以我在这里给出测试代码。、
![](https://i-blog.csdnimg.cn/blog_migrate/34031c708bfe702fe82d01ff5c6593aa.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/34031c708bfe702fe82d01ff5c6593aa.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eec4c0236afc26744c9c4e910bc34958.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eec4c0236afc26744c9c4e910bc34958.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eec4c0236afc26744c9c4e910bc34958.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eec4c0236afc26744c9c4e910bc34958.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eec4c0236afc26744c9c4e910bc34958.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4fd96b3cf02f4c7b5c8964ac8167f7af.gif)
ok,以上一段测试代码的含义很简单,是用一个枚举将机器上所有端口名遍历并输出一遍,其中CommPortIdentifier是通讯端口管理的类,具体请查阅javaAPI,在这里主要将配置。
首先来介绍我的方法和我遇到的问题:comm.jar,javax.comm. properties和win32comm.dll。将文件comm.jar拷贝到%JAVA_HOME%\jre\lib\ext;文件 javax.comm. properties拷贝到%JAVA_HOME%\jre\lib; 文件win32comm.dll拷贝到%JAVA_HOME%\bin。注意%JAVA_HOME%是jdk的路径,而非jre。比如说我自己的机器的%JAVA_HOME%\是D:\Program Files\Java\jdk1.6.0_11。但具体拷贝到哪个文件夹下,还是有待商榷的,可能由于版本的不同吧。
导入后,在Eclipse的工程中加入jar包,“工程右键-> properties-> java build path -> libraries -> add external jar”去找到你所放置的comm.jar的位置就可以了。好,下面就可以运行了。
如果运行结果为空,什么输出都没有,一般不太可能是你的机器没有串口,不行去掉 if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) 试试看,不会连并口都没有吧?大多情况下是没有找到javax.comm. properties文件,那你把它再放到JreDIR/jre/lib吧,我的机器是 D:\Program Files\Java\jre6\lib里面,这个时候应该就好了。
如果出现的错误结果是,没有找到comm.jar的红色错误信息,那么也放到jre的bin里面就可以了,我机器是D:\Program Files\Java\jre6\bin中。Eclipse是先找javax.comm. properties文件的,然后再找win32comm.dll,所以如果是没有显示端口时,可能dll也不一定配好了。正常之后我的机器输出的串口是COM3,去掉if条件后输出的是COM3 LPT1 LPT2,我调试的机器是一台笔记本,是没有串口的那种,只有通讯端口一个 RIM Virtual Serial Port v2 (COM3)而已。好了如果输出正常,就说明弄好了,enjoy it.