Java串口通信编程指导pof.docx
《Java串口通信编程指导pof.docx》由会员分享,可在线阅读,更多相关《Java串口通信编程指导pof.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Javaa串口通通信编程程1. 概述在javva中,利利用Jaava Commmunnicaatioon包可可以操作作串口,但但官方的的包在33.0之之后就只只支持Liinuxx和Sollariis平台台了,WWinddowss平台的的只支持持到988年出的的 2.0版本本,不过过在XPP下还能能使用。另外,也可以用开源的Rxtx实现串口通信,这里仅以Java Communication包,在Windows平台实现串口通信进行说明。2. 前期准备备2.1. 下载Jaava Commmunnicaatioon包 下载地址址如下:htttp:/mddubuuc.ffreeesheell.orgg/
2、Joolt/javvacoomm220-wwin332.zzip。 如果是非非Winndowws平台台,请到到Sunn网站选选择其他他版本下下载。地地址如下下:htttp:/wwww.sunn.coom/ddownnloaad/pprodductts.xxml?id=432208dd3d2.2. 配置 解压缩jjavaacommm200-wiin322.ziip 把winn32ccom.dlll拷贝到到JAAVA_HOMMEjreebiin 把commm.jjar拷贝到到JAAVA_HOMMEjreeliibeext 把mm.ppropperttiess拷贝到到JAAVA_HOMMEjreel
3、iib set CLAASSPPATHH=JJAVAA_HOOMEjrre libbexxt commm.jjar;%cllassspatth%3. 实现过程程主要步骤骤包括: 获得串口口标识 打开串口口 设置串行行端口通通讯参数数 获取输入入(出)流流 进行读写写操作3.1. 获得串口口标识指定串口口的端口口号,生生成串口口的标识识类的实实例。javaax.ccommm.CoommPPorttIdeentiifieer是通讯端端口管理理器,控制访访问到通通讯端口口的中心心类。一个应应用程序序首先使使用CoommPPorttIdeentiifieer中的的方法,通过相相关的驱驱动去获获取那些些
4、通讯端端口是可可用的并并且选择择一个端端口便于于开始。它它包括如如下功能能:a. 通通过驱动动决定通通讯端口口是可用用的。 b. 打开开通讯端端口为了了I/OO操作。 c. 决定定端口的的拥有者者。 d. 解析析端口拥拥有者的的争夺。 e. 管理理事件显显示在端端口拥有有者的中中的状态态改变。示例代码码如下:代码:CommmPorrtIddenttifiier porrtIDD = nulll;try/ CommmPoortIIdenntiffierr 取取得porrtIDD = CommmPoortIIdenntiffierr.geetPoortIIdenntiffierr(CCOM11);
5、cattch(NoSSuchhPorrtExxcepptioon eex)ex.priintSStacckTrracee();3.2. 打开串口口示例代码码如下:代码:try/ porrt = (SSeriialPPortt)poortIID.oopenn(pporttAppp, 50000);cattch(PorrtInnUseeExccepttionn exx) ex.priintSStacckTrracee();50000(毫秒秒)是超超时时间间。3.3. 设置串行行端口通通讯参数数设置串口口传输的的波特率率、数据据位、停停止位、奇奇偶校验验等参数数。示例代码码如下:代码:try / 通
6、信条条件設設定/ 通信速速度 996000 baaud/ 8bbit/ 11bitt/ / 設定定/ 無制御御使用用porrt.ssetSSeriialPPorttParramss(96600, SeeriaalPoort.DATTABIITS_8,SeeriaalPoort.STOOPBIITS_1, SeeriaalPoort.PARRITYY_NOONE);porrt.ssetFFlowwConntroolMoode(SerriallPorrt.FFLOWWCONNTROOL_NNONEE); caatchh (UUnsuuppoorteedCoommOOperratiionEExcee
7、ptiion ex) ex.priintSStacckTrracee();Sysstemm.exxit(1);3.4. 获取输入入(出)流流利用geetInnputtStrreamm()以以及geetOuutpuutSttreaam()从每个个串口产生生对应的的输入输输出流对对象。示例代码码如下:代码:/受信信prottectted BuffferredRReadder commReaaderr;/送信信prottectted BuffferredOOutpputSStreeam commWriiterr;try / RS-2322C 入入力用 Reeadeer 生成commReaaderr
8、= neww BuuffeereddReaaderr( neww InnputtStrreammReaaderr(poort.gettInpputSStreeam();/ RS-2322C 出出力用 Wrriteer 生成commWriiterr=new BuffferredOOutpputSStreeam(porrt.ggetOOutpputSStreeam(); caatchh (IIOExxcepptioon eex)ex.priintSStacckTrracee();3.5. 进行读写写操作 写操作很很简单,只需要调用BufferedOutputStream的write()方法就可以了
9、。示例代码码如下:代码:try commWriiterr.wrritee(送送信内容容。);commWriiterr.fllushh(); caatchh (IIOExxcepptioon ee) porrt.cclosse();Sysstemm.ouut.pprinntlnn(SSeriial Sennd EErroor:+e);e.pprinntSttackkTraace(); 读操作,需需要如下下步骤: 继承SeeriaalPoortEEvenntLiisteenerr接口。 为SerriallPorrt添加加监听LListteneer。 实现该接接口的sseriialEEvennt(S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 串口 通信 编程 指导 pof
限制150内