串行通讯通用接口程序设计

串行通讯通用接口程序设计

ID:27819270

大小:52.21 KB

页数:3页

时间:2018-12-06

串行通讯通用接口程序设计_第1页
串行通讯通用接口程序设计_第2页
串行通讯通用接口程序设计_第3页
资源描述:

《串行通讯通用接口程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、吊行通讯通用接11程序设计串行通讯在通讯领域被广泛应用,标准的RS232接口已成为计算机、计算机外设、交换机和许多通讯设备的标准接口。微机与微机、微机与外设、微机与程控交换机等都可以通过RS232接II进行方便的连接,以实现控制外设和传输数据等目的。在串行接口连接屮,按连接方式可分为两类:有规程连接和无规程连接。无规程连接原理比较简单,通讯双方无握手过程。一方冇数据需要发送,则立即通过吊行接口发送出去,另一方被动接受。该方式虽然容易实现但数据发送的完整性却无法得到保证,在关键任务的连接屮均不采用该方式,笔者在此不再赘

2、述。而有规程通讯过程则不同,在甲方有数据发送请求时,则向乙方发送“请求发送数据”命令。乙方收到后,如准备就绪,则冋送确认信息。甲方得到乙方的确认后方可发送数据。在大多数情况下,乙方要对收到的数据进行校验,校验止确发送“通讯终止”命令,否则可发送“重发”命令。在实践过程中,有规程的串行连接过程通常要复杂得多,而且不同的设备厂商都冇不同的通讯规程,目前尚未形成统一的标准。即便是同一种类型的外设,在与不同品牌的设备进行连接时,也要修改原代码來满足不同种类规程的要求,此类问题常常会困扰程序开发人员。笔者在实际工作屮总结出一种

3、简单实用的通用规程的程序设计方法,在与多种串行通讯设备的连接屮取得了满意的效果。在此简单介绍其原理,并与读者共同探讨。在通讯的过程屮,虽然规程的组合千变万化,但通讯过程屮的每一步都冇很多共性的东西存在。通过对多种串行通讯设备的研究,笔者将通讯过程的每一步骤进行总结,抽象出共性的东西,在此称作通讯“步骤对象”。通讯步骤对象的定义和应用是该程序设计方法的核心内容。每一种通讯规程都可以定义多个通讯步骤对象。整个通讯过程的的实现,就是每一个通信步骤对象依次被激活并执行各t定义的方法的一个连贯过程。通讯步骤对象(objComS

4、tep)一般包括如下属性:(1)序号(Stcpld):每一个通讯步骤都有一个唯一的标识号,一般依据该步骤在整个规程屮的执行顺序号来定义。(2)状态(Status):每一个步骤可能有四种状态:①发送:发送命令代码;②接受:接受命令代码;③判断:对上一步骤接收到的命令进行判断,检验接收的命令或数据是否止确;④接收数据:接收真止要传输的数据。(3)命令代码(Command):发送或进行接收判断的控制代码。(4)数据代码(Data):发送或接收判断的数据代码。(5)肯定序号(AckStep):在发送成功后跳转到肯定序号指定的

5、步骤;如接收判断成功,同样跳转到肯定行号。(1)否定序号(NakStep):在发送不成功后跳转到否定序号指定的步骤;如接收判断不成功,同样跳转到否定行号。(2)延迟(DelayTime):当前步骤执行完毕,延迟相应时间后跳转到下一个步骤。(3)循环上限(MaxRunCounts):由丁•每一个步骤可被重复执行,对丁•每一个步骤有一个循环上限,如果执行次数大于该数值,则跳转到循环跳转序号。(4)循环跳转序号(BcyondStcp):对于当前步骤被循环执行的次数超过上限时跳转到所指定的步骤。(5)计数器(Counter)

6、:记载执行次数。通讯步骤对象的方法定义如下:(1)发送(Send):通过串行端口发送数据或命令代码。(2)接收(Receive):从吊行端口接收数据或命令代码。(3)判断(Identify):判断接收数据是否正确。(4)输出数据(OutPut):将得到的数据通过网络或消息传送给其它程序模块。完成了对objComSetp的定义,下一步我们就能够很容易地用程序语言来将其实现。在实际编程过程屮,笔者将程序总体结构分为步骤定义模块和步骤执行模块。通过步骤定义模块定义所用规程的每一个步骤的属性,将属性信息写入配置文件。步骤执行

7、模块按配置文件中的信息依次创建步骤对象,由该对象执行相应的方法。步骤执行模块总体控制每个objComStep的激活顺序,直至完成整个通讯规程。并将在通讯过程屮得到的数据输出给其它程序模块。卜•面是一个吊行通讯的实例,笔者用上述的程序设计方法实现了PC机和NEC程控交换机Z间的通讯。为了方便叙述,笔者将该程序称为“通讯模块”。通讯模块的目的是通过串行通讯的方法来完成用PC机对NEC电话程控交换机物业管理PMS(PropertyManagementSystem)系统进行控制的任务。系统成功地实现了对交换机的控制,通过PC

8、机实现自动开通、关闭、长途权限、电话叫早、电话留曰、电话免扰、电话设置房间状态等多种功能。图1是该规程的状态图。说明:(1)在接收和发送之间的时间间隔是1秒;(2)在接收到NAK后,重复发送的次数为3;(3)接收方没冇回应(NOANSWER)ifij重复询问的次数为15;(4)eot规程终止。在通讯模块中,首先将通讯规程的每一步骤用步骤对象的定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。