资源简介
本次测试使用的环境:
Win 7 旗舰版 64位
Eclipse 3.7
Java 1.6
Comm2.0.jar(串口通信的扩展库)
AccessPort 1.37
串口调试工具(精装版V3.6)
VSPD 工具 (创建虚拟串口用)
注:
因为操作系统是64位的win7,accessport 使用的是 1.37
Comm包是一个扩展包,需要放置到jre的lib/ext 目录下
关于创建虚拟串口和串口调试工具的使用请参考:http://wenku.baidu.com/view/0851b5c408a1284ac850438c.html

代码片段和文件信息
package org.serial;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.TooManyListenersException;
import javax.comm.CommPortIdentifier;
import javax.comm.PortInUseException;
import javax.comm.SerialPort;
import javax.comm.SerialPortEvent;
import javax.comm.SerialPortEventListener;
/**
* @项目名称 :illegalsms
* @文件名称 :SerialPort.java
* @所在包 :org.serial
* @功能描述 :
* 串口类
* @创建者 :集成显卡 1053214511@qq.com
* @创建日期 :2012-9-13
* @修改记录 :
*/
public class DSerialPort implements Runnable SerialPortEventListener {
private String appName = “串口通讯测试[集成显卡2012]“;
private int timeout = 2000;//open 端口时的等待时间
private int threadTime = 0;
private CommPortIdentifier commPort;
private SerialPort serialPort;
private InputStream inputStream;
private OutputStream outputStream;
/**
* @方法名称 :listPort
* @功能描述 :列出所有可用的串口
* @返回值类型 :void
*/
@SuppressWarnings(“rawtypes“)
public void listPort(){
CommPortIdentifier cpid;
Enumeration en = CommPortIdentifier.getPortIdentifiers();
System.out.println(“now to list all Port of this PC:“ +en);
while(en.hasMoreElements()){
cpid = (CommPortIdentifier)en.nextElement();
if(cpid.getPortType() == CommPortIdentifier.PORT_SERIAL){
System.out.println(cpid.getName() + “ “ + cpid.getCurrentOwner());
}
}
}
/**
* @方法名称 :selectPort
* @功能描述 :选择一个端口,比如:COM1
* @返回值类型 :void
* @param portName
*/
@SuppressWarnings(“rawtypes“)
public void selectPort(String portName){
this.commPort = null;
CommPortIdentifier cpid;
Enumeration en = CommPortIdentifier.getPortIdentifiers();
while(en.hasMoreElements()){
cpid = (CommPortIdentifier)en.nextElement();
if(cpid.getPortType() == CommPortIdentifier.PORT_SERIAL
&& cpid.getName().equals(portName)){
this.commPort = cpid;
break;
}
}
openPort();
}
/**
* @方法名称 :openPort
* @功能描述 :打开SerialPort
* @返回值类型 :void
*/
private void openPort(){
if(commPort == null)
log(String.format(“无法找到名字为‘%1$s‘的串口!“ commPort.getName()));
else{
log(“端口选择成功,当前端口:“+commPort.getName()+“现在实例化 SerialPort:“);
try{
serialPort = (SerialPort)commPort.open(appName timeout);
log(“实例 SerialPort 成功!“);
}catch(PortInUseException e){
throw new RuntimeException(String.format(“端口‘%1$s‘正在使用中!“
commPort.getName()));
}
}
}
/**
* @方法名称 :checkPort
* @功能描述 :检查端口是否正确连接
* @返回值类型 :void
*/
private void checkPort(){
if(commPort == null)
throw new RuntimeException(“没有选择端口,请使用 “ +
“selectPort(String portName) 方法选择端口“);
if(serialPort == null){
throw new RuntimeException(“SerialPort 对象无效!“);
}
}
/**
* @方法名称 :write
* @功能描述 :向端口发送数据,请在调用此方法前 先选择端口,并确定SerialPort正常打开!
* @返回值类型 :void
* @param messa
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 695296 2012-09-13 17:05 基于java的串口通信\java的串口通讯.doc
文件 352 2012-09-13 14:11 基于java的串口通信\serial_java\.classpath
文件 386 2012-09-07 09:13 基于java的串口通信\serial_java\.project
文件 598 2012-09-07 09:13 基于java的串口通信\serial_java\.settings\org.eclipse.jdt.core.prefs
文件 380 2012-09-13 14:13 基于java的串口通信\serial_java\about\使用说明.txt
文件 295 2012-09-13 14:11 基于java的串口通信\serial_java\bin\org\cutsms\InterceptManager.class
文件 6183 2012-09-13 16:45 基于java的串口通信\serial_java\bin\org\serial\DSerialPort.class
文件 779 2012-09-13 16:58 基于java的串口通信\serial_java\bin\org\serial\TestSerial.class
文件 28043 1998-11-15 16:00 基于java的串口通信\serial_java\lib\comm.jar
文件 467 1998-11-15 15:59 基于java的串口通信\serial_java\lib\javax.comm.properties
文件 27648 1998-11-15 16:00 基于java的串口通信\serial_java\lib\win32com.dll
文件 6605 2012-09-13 16:45 基于java的串口通信\serial_java\src\org\serial\DSerialPort.java
文件 607 2012-09-13 16:58 基于java的串口通信\serial_java\src\org\serial\TestSerial.java
文件 4945582 2012-09-13 15:48 基于java的串口通信\VSPD.zip
文件 2052187 2012-09-13 16:03 基于java的串口通信\串口调试助手 V3.6 CM精装版 .exe
目录 0 2012-09-13 17:03 基于java的串口通信\serial_java\bin\org\cutsms
目录 0 2012-09-13 17:03 基于java的串口通信\serial_java\bin\org\serial
目录 0 2012-09-13 17:03 基于java的串口通信\serial_java\src\org\serial
目录 0 2012-09-13 17:03 基于java的串口通信\serial_java\bin\org
目录 0 2012-09-13 17:03 基于java的串口通信\serial_java\src\org
目录 0 2012-09-13 17:03 基于java的串口通信\serial_java\.settings
目录 0 2012-09-14 16:56 基于java的串口通信\serial_java\about
目录 0 2012-09-13 17:03 基于java的串口通信\serial_java\bin
目录 0 2012-09-13 17:03 基于java的串口通信\serial_java\lib
目录 0 2012-09-13 17:03 基于java的串口通信\serial_java\src
目录 0 2012-09-13 17:03 基于java的串口通信\serial_java
目录 0 2012-09-14 16:55 基于java的串口通信
----------- --------- ---------- ----- ----
7765408 27
............此处省略0个文件信息
- 上一篇:Android游戏开发疯狂战机
- 下一篇:windows经典扫雷游戏Java版
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- pc与android通过usb socket实现手机通信
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
评论
共有 条评论