• 大小: 5.74MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-31
  • 语言: Java
  • 标签: java  串口  通信  VSPD  测试  

资源简介

本次测试使用的环境: 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个文件信息

评论

共有 条评论