目
录
摘要…………………………………………………………………
1
Abstract ……………………………………………………………… 2
第一章
引言………………………………………………………3
1.1 Java事件处理机制的介绍…………………………………………… 3
1.1.1 一些基本概念………………………………………………………………
3
1.1.2 几种常见的事件……………………………………………………………
4
1.1.3 处理事件的过程……………………………………………………………
4
1.2
串行通信中的事件…………………………………………………………… 4
第二章 串行通信的基本知识………………………………6
第三章Java在串行通讯方面的技术………………………
7
3.1
RS232通讯基础………………………………………………………… 7
3.2安装Java Communications API………………………………………
8
3.3通讯前的准备…………………………………………………………… 9
3.4
Comm API基础………………………………………………………… 9
3.4.1串行端口事件类:Class SerialPortEvent……………………………
9
3.4.2CommPortIdentifier类………………………………………………… 10
3.4.3CommPort类………………………………………………………… 12
3.4.4SerialPort类……………………………………………………… 14
第四章
串口全双工通信应用研究…………………… 18
4.1运行环境………………………………………………………………
18
4.2工具准备……………………………………………………………
18
4.3具体程序………………………………………………………………
18
4.4调试过程………………………………………………………………
24
第五章
结束语……………………………………………… 25
参考文献……………………………………………………26
Java串行通信及应用研究
计算机专业001班 周策 指导教师
詹国华
摘 要
随着信息技术的发展以及计算机网络的广泛使用。计算机通信技术越来越成熟。在众多通信实现方案中,串行通行技术作为一种灵活、方便、可靠的通信手段,有着广泛的应用。尤其是在工业控制领域,微机与微机、微机与外设、微机与分布式下位机等都可以通过RS232串性端口互连通信,以实现控制和传输数据等目的。Java
语言因具有平台无关性、
安全、 易于使用、易于理解、易获得免费资源等优点而受到众多用户的欢迎。它在网络上的出色表现已经有目共睹,本文要研究的是如何使用Java语言利用串行端口实现通信。
文中首先介绍了事件机制与串行通信的有关知识,然后还介绍了Java串行通讯协议的开发包Commapi中几个主要的串行通信类和接口的字段,构造函数,方法。并给出了一个可以通过串口COM1,COM2在一台PC机上实现全双工通信的具体类库。
关键词:串行通信;分布式控制;通信应用程序接口;事件机制
Java
Serial Communication and Application
Research
Abstract
Along with the technical of communication
development and the extensive usage of calculator network.The
calculator communication technique is more and more mature. In
numerous communication realize project,………………..
第一章
引 言
近年来,随着Internet以及信息技术的发展,人们对网络的需求越来越大,同时对网络应用程序的要求也越来越高, Java程序语言有着强大的连网功能与分布计算能力,以及
高度的安全性和健壮性。跨平台的特性更使得Java开发出来的程序可以“一次编写,到处运行”。异步串行通信作为信息通信的另一种灵活、方便的通信手段,在各种领域也有着广泛的应用,本文将对把两者结合起来,通过网络把信息传到本地服务器,再以这台服务器作为分布式集散控制系统的上位机,通过异步串行通信来控制下位单片微机这个应用做研究。
1.1
Java事件处理机制的介绍
在Java中,存在着两种不同的事件处理机制(event
handling mechanism),即Java1.0的处理机制和Java2(1998年发布的Java1.2以后版本的统称)的处理机制。Java1.0的事件处理模式的设计导致了事件处理的困难。因此,Sun在Java2中建立了新的事件处理机制。新的机制增加了灵活性,提高了速度。并且提出了较好的设计原则。
虽然基于Java1.0事件处理机制的图形用户界面的程序都能在Java2下运行。但Sun并不承诺会在以后的版本中永远保持兼容。所以初学者直接使用Java2事件处理机制即可。
1.1.1一些基本概念;
事件对象的定义:事件对象是指Java语言中携带相关监听器的变化信息的信息携带者。
监听器对象:是实现了专门的监听器接口的类实例。会使用事件对象中的信息决定对事件的反应。
事件源:是一个能够注册监听器并且为它们发送事件对象的对象。
匿名内部类:“内部类”是在另一个类的内部声明的类。我们可在一个类中声明另一个类,这与声明字段和方法非常相似。包装了内部类声明的类就称为“外部类”。
适配器类:适配类是Java事件模型中极其重要的一部分。在一些应用场合,事件从源到监听者之间的传递要通过适配类来"转发"。例如:当事件源发出一个事件,而有几个事件监听者对象都可接收该事件,但只有指定对象做出反应时,就要在事件源与事件监听者之间插入一个事件适配器类,由适配器类来指定事件应该是由哪些监听者来响应。适配类成为了事件监听者,事件源实际是把适配类作为监听者注册入监听者队列中,而真正的事件响应者并未在监听者队列中,事件响应者应做的动作由适配类决定。目前绝大多数的开发工具在生成代码时,事件处理都是通过适配类来进行的。
1.1.2几种常见的事件
焦点事件:对于窗口图形系统而言,任何时候都有一个组件具有键盘焦点。当一个组件具有焦点的时候,键盘事件就可以发送到这个组件上。
键盘事件:当键盘按下或者松开时,会激发键盘事件。每个键盘事件都有一个关键的键码,该键码可以通过调用KeyEvent的getKeyCode方法得到。
鼠标事件:要判断相应的鼠标所进行的动作:是点击,还是移动。我们必须对我们鼠标进行监听。要监听鼠标事件就必须调用这些接口之一,或扩展一个鼠标适配器(mouse adapters)
类. 销毁事件:有时候,需要捕获一个事件以至于它不能再被传递到一个用户图形界面。假设需要写一个只接受数字的文本输入框。首先创建一个常规文本域,然后监听其所有的键盘事件,并且把那些不是数字键的事件销毁掉。