文档详情

西安邮电大学串口通信实验报告.doc

发布:2016-12-20约1.02万字共12页下载文档
文本预览下载声明
《高级Internet》实验报告 题目: 串口通信 学生姓名: 班 级: 软件工程1202 学 号: 指导老师: 王文浪 西安邮电大学计算机学院 年 6 月 10 日 实验目的 1.了解串口通信的通信的原理 2.串口包的安装(Windows下) 3.解使用java进行串口通信的配置 实验准备 1.首先准备一条串口通信线 2. 在设备上实现Java串口通信,需要用到javacomm20-win32.zip包.目前,常见的Java串口包有SUN在1998年发布的串口通信API:comm2.0.jar(Windows下)、comm3.0.jar(Linux/Solaris);IBM的串口通信API以及一个开源的实现。鉴于在Windows下SUN的API比较常用以及IBM的实现和SUN的在API层面都是一样的,那个开源的实现又不像两家大厂的产品那样让人放心,这里就只介绍SUN的串口通信API在Windows平台下的使用。 3.到SUN的网站下载javacomm20-win32.zip 按照其使用说明(Readme.html)的说法,要想使用串口包进行串口通信,除了设置好环境变量之外,还要将win32com.dll复制到JDK\bin目录下;将comm.jar复制到 JDK\lib;把perties也同样拷贝到JDK\lib目录下。然而在真正运行使用串口包的时候,仅作这些是不够的。因为通常当运行“java MyApp”的时候,是由JRE下的虚拟机启动MyApp的。而我们只复制上述文件到JDK相应目录下,所以应用程序将会提示找不到串口。解决这个问题的方法很简单,只须将上面提到的文件放到JRE相应的目录下就可以了. 三、 实验过程 1.串口API概览m.CommPort 这是用于描述一个被底层系统支持的端口的抽象类。它包含一些高层的IO控制方法,这些方法对于所有不同的通讯端口来说是通用的。SerialPort 和ParallelPort都是它的子类,前者用于控制串行端口而后者用于控这并口,二者对于各自底层的物理端口都有不同的控制方法。这里我只关心SerialPort。 m.CommPortIdentifier 这个类主要用于对串口进行管理和设置,是对串口进行访问控制的核心类。主要包括以下方法 (1)确定是否有可用的通信端口 (2)为IO操作打开通信端口 (3)决定端口的所有权 (4)处理端口所有权的争用 (5)管理端口所有权变化引发的事件(Event) 3. m.SerialPort 这个类用于描述一个RS-232串行通信端口的底层接口,它定义了串口通信所需的最小功能集。通过它,用户可以直接对串口进行读、写及设置工作 4 .串口通信实例 要准备相应的设备:电脑,外设,通过数据线把他们连接起来。 检验外设到底是用的那个COM口和电脑通讯的. 也就是说,他们有没有真确的连接上。可以通过下载串口通讯口测试软件,我用的是SuperCommTool.exe的绿色软件,进行测试的。这软件很适应,如果选中的某个COM已经被使用了,它会给你一个相应的提示(端口以被占用)。如果你不知道到底是使用的那个端口,那么你可以通过superCommTool软件一个一个的试,如果正常的话,那么你可以看到有数据显示在数据接收窗口。也许,有些主板的串口坏了,那么就要买一个转接卡,通过PCI插口转接。 (3)查看外设使用说明书知道外设的相关参数. 比如,波特率,数据位,停止位,校验位,等等。只有正确参数,才能显示正确的数据。当然,可以在通讯测试软件上调试这些参数的。比如:波特率 = 2400,数据位 = 8,停止位 = 2 ,校验位 = 1。 准备开发环境:最基本的JDK了,使用自己的IDE,帮助开发。IDE可能自带了JDK,那么 你要把相应的javaComm20-win32放到运行时使用的JDK中。 下载JAVAcomm20-win32。必须把win32com.dll复制到java.home/bin下;把perties复制到java.home/lib下;把comm.jar添加到classPath下。前面两个都是非常重要的。 获取SerialPort sP
显示全部
相似文档