Java串口通信编程指导.doc
《Java串口通信编程指导.doc》由会员分享,可在线阅读,更多相关《Java串口通信编程指导.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java串口通信编程Java串口通信编程 第8页/共8页1. 概述在java中,利用Java Communication包可以操作串口,但官方的包在3.0之后就只支持Linux和Solaris平台了,Windows平台的只支持到98年出的 2.0版本,不过在XP下还能使用。另外,也可以用开源的Rxtx实现串口通信,这里仅以Java Communication包,在Windows平台实现串口通信进行说明。2. 前期准备2.1. 下载Java Communication包 下载地址如下:http:/mdubuc.freeshell.org/Jolt/javacomm20-win32.zip。 如果
2、是非Windows平台,请到Sun网站选择其他版本下载。地址如下:2.2. 配置 解压缩javacomm20-win32.zip 把win32com.dll拷贝到JAVA_HOMEjrebin 把comm.jar拷贝到JAVA_HOMEjrelibext 把m.properties拷贝到JAVA_HOMEjrelib set CLASSPATH=JAVA_HOMEjre libext comm.jar;%classpath%3. 实现过程主要步骤包括: 获得串口标识 打开串口 设置串行端口通讯参数 获取输入(出)流 进行读写操作3.1. 获得串口标识指定串口的端口号,生成串口的标识类的实例。m
3、.CommPortIdentifier是通讯端口管理器,控制访问到通讯端口的中心类。 一个应用程序首先使用CommPortIdentifier中的方法,通过相关的驱动去获取那些通讯端口是可用的 并且选择一个端口便于开始。它包括如下功能: a. 通过驱动决定通讯端口是可用的。 b. 打开通讯端口为了I/O操作。 c. 决定端口的拥有者。 d. 解析端口拥有者的争夺。 e. 管理事件显示在端口拥有者的中的状态改变。示例代码如下:代码:CommPortIdentifier portID = null;try/ CommPortIdentifier 取得portID = CommPortIdentif
4、ier.getPortIdentifier(COM1);catch(NoSuchPortException ex)ex.printStackTrace();3.2. 打开串口示例代码如下:代码:try/ port = (SerialPort)portID.open(portApp, 5000);catch(PortInUseException ex) ex.printStackTrace();5000(毫秒)是超时时间。3.3. 设置串行端口通讯参数设置串口传输的波特率、数据位、停止位、奇偶校验等参数。示例代码如下:代码:try / 通信条件設定/ 通信速度 9600 baud/ 8bit/
5、1bit/ / 設定/ 無制御使用port.setSerialPortParams(9600, SerialPort.DATABITS_8,SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);port.setFlowControlMode(SerialPort.FLOWCONTROL_NONE); catch (UnsupportedCommOperationException ex) ex.printStackTrace();System.exit(1);3.4. 获取输入(出)流利用getInputStream()以及getOutputStream
6、()从每个串口产生对应的输入输出流对象。示例代码如下:代码:/受信protected BufferedReader comReader;/送信protected BufferedOutputStream comWriter;try / RS-232C 入力用 Reader 生成comReader = new BufferedReader( new InputStreamReader(port.getInputStream();/ RS-232C 出力用 Writer 生成comWriter=new BufferedOutputStream(port.getOutputStream(); cat
7、ch (IOException ex)ex.printStackTrace();3.5. 进行读写操作 写操作很简单,只需要调用BufferedOutputStream的write()方法就可以了。示例代码如下:代码:try comWriter.write(送信内容。);comWriter.flush(); catch (IOException e) port.close();System.out.println(Serial Send Error:+e);e.printStackTrace(); 读操作,需要如下步骤: 继承SerialPortEventListener接口。 为Serial
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 串口 通信 编程 指导
限制150内