利用comm.jar开发包实现Java与单片机全双工串口通信核心分析
2016-05-14李佳宁陈旭
李佳宁 陈旭
摘 要:本文主要就利用comm.jar开发包实现Java与单片机全双工串口通信,对其核心内容展开了相关的分析与探讨。首先就Java类和comm.jar开发包进行了简要的介绍,而后对于Java读写串口的编程实现进行了详细的阐述,并最终应用于Applet或Application程序,经过相应的调试手段,最终呈现出了简化后的代码实例。
关键词:comm.jar;Java;单片机;全双工
DOI:10.16640/j.cnki.37-1222/t.2016.04.181
在计算机通信服务器的自动化控制系统当中,主要将微型机作为控制中心,一般较为常用的数据采集方式为通过单片机进行数据信息内容的采集,而后借助于串行通信的方式发送给微型机,微型机再将相应的控制信息指令发送至单片机。Java程序语言在面对对象与平台时,具有分布式与多线程的可靠性与安全性,较为适用于分布式的计算机环境。因而将Java程序语言应用于单片机的通信当中,能够具备极强的实际价值。据此下文之中将主要就Java类和comm.jar开发包进行简要的介绍,并对Java读写串口的编程实现进行详细的分析与探讨,具体内容如下。
1 Java类和comm.jar开发包
Java程序语言由语法规则与类库两项内容模块构成。类库模块是程序当中已完成编写的程序语言,不同的模块内容往往对应有不同的功能与任务,因此对于相关的模块进行编写之时,便可以合理的运用适当的类库模块内容。comm.jar开发包能够供应两类端口的通信需求,一类为普遍应用的串行端口RS- 232- C,另一类则为并行端口IEEE1284,借助于类库模块内容的支持,能够即为有效的精简对串口的操作流程。
实现输出与输入功能的基本原理。借助于系统当中的Javax.comm.SerialPort程序能够生成具体的串口目标。而能够进行正常通信的一个最为重要的原因,即为在开发包当中存在一个输出信息流,向此输出信息流输入相应的信息流内容,能够极为便捷的进行对串口的操作。Java程序语言对于串口通信的实现原理,即对串口通信通过监听器进行监听,若获取到相应的串口通信情况,并存在具体的实际数据内容,便能够进行输入流的数据通信传输。
2 Java读写串口的编程实现
(1)引用包与定义对象。Java的定义对象内容应当采用static进行定义域的划分,能够存储于公共单元之中,此种程序当中的任一程序均可实行范文及纠正。
(2)打开程序。借助于CommPortIdentifier的打开方式,能够返回到CommPort当中。打开方式有两个数据标准:一个是string,一般情况下将名称设定为所采用的程序名称;另一个是time,通常代表打开端口是所用到的时间[1]。Catch代表若端口被其他程序内容所占据时,亦或是此端口的操作内容不能够给予相应的支持,在系统运行过程当中往往会被检测为异常状况。
(3)二进制数据。借助于getOutputStream能够获取到端口当中的输出流,从而便能够促使串口通信进行数据代码的输出。
Output为上文之中所定义的输出流目标内容;ch表示在通信端口当中要输入进1B的二进制数据代码,数值为0~260之内的整数值[2]。
(4)二进制数据的接收。comm.jar在数据输入当中,具备两类读取方式[3]。在此之中轮询监听方式,能够在计算程序当中的各个关键性功能运行指示,借助于对CommEvent属性值的检查来进行错误代码的修正。而如若所采用的程序代码较为简洁,程序内容较少,能够极大的提升二进制数据的接收,在本次研究当中采用了监听读取方式,进行数据内容的获取的方式具有程序反映较快、可靠性能强等特点。
3 Java读写串口的编程实现实例
通过上文当中对于通信程序的代码处理,能够将其独立封装为同一个类型[4],应用于Applet或Application程序,经过相应的调试手段,最终呈现出简化后的代码实例如下所示:
4 结束语
对于comm.jar开发包的实现与Java与单片机全双工串口通信,此两者的基础性理论概念进行了分析与探讨,而后就此提出了一些相应的程序实例。实例可通过Windows 2000+ Java SDK 1.4进行编译,同时能够同AT89C51实现信息互通。此通信程序与同类的通信程序相对比而言,语言逻辑的表达更加简洁清晰,在实际的编程过程当中应用效率较强,且易于日常维护,因此具有一定的实用价值。
参考文献:
[1]侯延风,徐俊峰,谈雯等.多任务、全双工串口通信的Visual Basic实现[J].武汉水利电力大学学报,2013(06).
[2]邢文生,李希臣,李泉溪等.Java Applet与单片机串口通讯的实现[J].河南科学,2012(06).
[3]赵学军.基于单片机通用引脚的软件UART设计[J].微计算机信息,2014(02).
[4]赵建强,黄华,王芸等.基于PC机RS-232串口的无线数字传输组网系统[J].四川大学学报(自然科学版),2013(z1).
作者简介:李佳宁(1993-),男,广东兴宁人,大专,研究方向:通信技术。