Q:javax.comm 2.0 windows下Eclipse的配置
@转自http://blog.csdn.net/zhuanghe_xing/article/details/7523744处
要在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());
}
}
}
}
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开发包后,与之一起的还有两个重要的文件,win32com.dll和javax.comm.properties。 comm.jar提供了通讯用的java API,而win32com.dll提供了供comm.jar调用的本地驱动接口。而javax.comm.properties是这个驱动的类配置文件。
首先来介绍我的方法和我遇到的问题: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)而已。好了如果输出正常,
Q:javax.comm 2.0 windows下Eclipse的配置的更多相关文章
- Windows下Eclipse+PyDev配置Python开发环境
1.简介 Eclipse是一款基于Java的可扩展开发平台.其官方下载中包括J2EE.Java.C/C++.Android等诸多版本.除此之外,Eclipse还可以通过安装插件的方式进行包括Pytho ...
- windows下eclipse远程连接hadoop集群开发mapreduce
转载请注明出处,谢谢 2017-10-22 17:14:09 之前都是用python开发maprduce程序的,今天试了在windows下通过eclipse java开发,在开发前先搭建开发环境.在 ...
- windows下eclipse+hadoop2
windows下eclipse+hadoop2.4开发手册 1.解压下载的hadoop2.4,到任意盘符,例如D:\hadoop-2.4.0. 2.设置环境变量 ①新建系统变量,如下所示. ②将新建的 ...
- windows下Eclipse操作MapReduce例子报错:Failed to set permissions of path: \tmp\hadoop-Jerome\mapred\staging\
windows下Eclipse操作MapReduce例子报错: 14/05/18 22:05:29 WARN util.NativeCodeLoader: Unable to load native- ...
- [b0007] windows 下 eclipse 开发 hdfs程序样例
目的: 学习使用hdfs 的java命令操作 相关: 进化: [b0010] windows 下 eclipse 开发 hdfs程序样例 (二) [b0011] windows 下 eclipse 开 ...
- windows下Eclipse安装Perl插件教程
windows下Eclipse安装Perl插件教程 想用eclipse编写perl.网上看了很多资料.但EPIC插件的下载连接都失效了.无奈,只好自己动手写个教程记录一下. 准备工作: 安装好Ecli ...
- [b0011] windows 下 eclipse 开发 hdfs程序样例 (三)
目的: 学习windows 开发hadoop程序的配置. [b0007] windows 下 eclipse 开发 hdfs程序样例 太麻烦 [b0010] windows 下 eclipse 开发 ...
- [b0010] windows 下 eclipse 开发 hdfs程序样例 (二)
目的: 学习windows 开发hadoop程序的配置 相关: [b0007] windows 下 eclipse 开发 hdfs程序样例 环境: 基于以下环境配置好后. [b0008] Window ...
- Windows下CVSNT安装配置
首先要说明:X64下安装此软件会报 “cvs [login aborted]: WIN-4H9CRJO1TRA\Administrator: Switch to user failed due to ...
随机推荐
- 微信小程序爬坑日记
新公司上手小程序.30天,从入门到现在,还没放弃... 虽然小程序发布出来快一年了,爬坑的兄弟们大多把坑都踩平了.而我一直停留在"Hello World"的学习阶段.一来没项目,只 ...
- 浏览器拦截js打开新窗口
最近做项目时,遇到的问题"想通过javascript在浏览器新标签页或新窗口打开一个新的页面,结果被浏览器大大无情给拦截了"业务需求:前端提交数据到后端,后端返回url,然后在新窗 ...
- PHP通过ZABBIX API获取主机信息 VS 直接从数据库获取主机信息
最近项目需要获取linux主机的一些信息,如CPU使用率,内存使用情况等.由于我们本身就装了zabbix系统,所以我只用知道如何获取信息即可,总结有两种方法可以获取. 一.通过ZABBIX API获取 ...
- 当使用javac编译源文件时,如何查找import导入的类
当编写一个java源代码文件时,此文件通常被称为编译单元(有时也被称为转移单元).每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类的名称必须与文件名称一致.每个 ...
- HDU 5504 GT and sequence 模拟
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5504 思路:模拟 代码: #include<stdio.h>//------杭电5504 ...
- MySQL之事务的四大特性
事务就是一组原子性的SQL查询,或者说一个独立的工作单元.如果数据库引擎能够成功地对数据应用该组查询的全部语句,那么久执行该组查询.如果其中任何一条语句因为崩溃或其他原因无法执行,那么所有语句都不会执 ...
- ERROR: unable to bind listening socket for address ’127
ERROR: unable to bind listening socket for address '127.0.0.1:9000′ 解决办法: killall php-fpm 然后重启即可. 我的 ...
- PHP 八种基本的数据类型小结
四种标量类型: boolean (布尔型) integer (整型) float (浮点型, 也称作 double) string (字符串) 两种复合类型: array (数组) object (对 ...
- Python3学习笔记2:简易Web爬虫
开发环境 基础语法那章的内容我是在Docker容器中玩的,但是真正做项目的时候,没有IDE的强大辅助功能来协助的话是很累人的一件事.因此从本文中,我选择使用Jetbrain的Pycharm这个IDE来 ...
- CS Round#50 D min-races
Min Races Time limit: 1000 msMemory limit: 256 MB In a racing championship there are N racing driv ...