- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11讲 Java串口通信基础 1.串口通信的工作原理; 2.常见信号引脚与串口通信接线; 3.Java Communications API开发包; 4.Comm API的应用; 1.1 串口通信的工作原理 1.1 串口通信的工作原理 1.1 串口通信工作原理 1.2 串口通信协议 1.1 串口通信工作原理 1.3 RS-232C标准 2.1 信号引脚与串口通信接线 2.1 RS232串口通信接线方法 3.1 配置Java通讯API 3.2 Comm API 类结构 3.2 Comm API类结构 4.1 检测系统的RS232端口 * 仰恩大学计算机与信息学院 * 串行通信是指外设与计算机之间使用一根数据信号线,数据在数据信号线上一位一位地进行传输,每一位数据都占据一个固定地时间长度。 1 串口通信工作原理 串行端口的本质功能是作为CPU和串行设备间地编码转换器。当数据从CPU经过串行端口发送出去时,字节数据转换为串行地维;在接受数据时,串行地位被转换为字节数据。 在Window环境下,串口是系统资源地一部分。应用程序要使用串口进行通信,必须在使用之前向操作系统申请资源(打开串口);在通信完成后必须释放资源(关闭串口)。 1.1串口通信工作原理 在串行通信时,要求通信双方都采用一个标准接口协议,使不同的设备可以方便的连接通信。 所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。 微机串行通信采用EIA RS-232C标准,这是美国电子工业协会制定的一种串行物理接口标准。该接口的适用范围是30M和小于20kbs的数据速率。 为了能在更大距离和更高速率上直接互连,可以采用RS-449、 RS-422、 RS-423等标准 。 目前较为常用的串口有9针串口(DB9)和25针串口(DB25),常用的信号引脚如下: 2 常见信号引脚与串口通信接线 串口传输数据只要有接受数据针脚和发送针脚就能实现:一个串口的接受脚与另一个串口的发送脚直接用线相连。 2 常见信号引脚与串口通信接线 最简单的串口连接线 1.将下载后的压缩文件zip压缩包解压; 2. 将win32com.dll复制到\jdk\bin目录中; 3.将comm.jar复制到 \jdk\lib目录中; 4. 将Jperties复制到 \jdk\lib目录中; 5. 将comm.jar加入到classpath中。 3 Java Comm API开发包 1. CommPortIdentifier类及其主要方法 CommPortIdentifier类是管理和控制通信端口类; 功能: 决定通信端口的驱动工作模式、打开通信端口进行I/O操作、决定通信端口的所有权、管理在端口发生的事件变化。 getPortIdentifiers()方法:获取系统的串口; getPortType()方法:返回通信端口的类型; open(String ApplicationName,int TimeOut)方法: 打开由String规定的应用通信端口,并设置打开端口的毫秒数的超时时间; 3 Java Comm API开发包 2. SerialPort类及其主要方法 功能:描述RS-232串行通信端口参数; setSerialPortParams()方法:设置串口的通信参数--波特率、数据位、停止位、奇偶校验。 setSerialPortParams(int baudrate,int dataBits, int stopBits,int parity) 3 Java Comm API开发包 import java.util.*; import m.*; public class PortTest { static CommPortIdentifier portId; static Enumeration portList; public static void main(String[] args) { portList=CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()){ portId=(CommPortIdenti
您可能关注的文档
- 东华大学计算机科学与技术学院计算机系统与网络技术课件 第十五讲.ppt
- 东华大学计算机科学与技术学院计算机系统与网络技术课件 第十一讲.ppt
- 东华大学计算机科学与技术学院计算机系统与网络技术课件 第四讲.ppt
- 东华大学计算机科学与技术学院计算机系统与网络技术课件 第五讲.ppt
- 东华大学计算机科学与技术学院计算机系统与网络技术课件 第一讲.ppt
- 东华大学计算机科学与技术学院信息系统与数据库技术课件 第二十三讲.ppt
- 东华大学计算机科学与技术学院信息系统与数据库技术课件 第六讲.ppt
- 东华大学计算机科学与技术学院信息系统与数据库技术课件 第十二讲.ppt
- 东华大学计算机科学与技术学院信息系统与数据库技术课件 第十讲.ppt
- 东华大学计算机科学与技术学院信息系统与数据库技术课件 第十六讲.ppt
文档评论(0)