简单的异步串行通信编程实验

简单的异步串行通信编程实验

ID:9941883

大小:1020.50 KB

页数:19页

时间:2018-05-16

简单的异步串行通信编程实验_第1页
简单的异步串行通信编程实验_第2页
简单的异步串行通信编程实验_第3页
简单的异步串行通信编程实验_第4页
简单的异步串行通信编程实验_第5页
资源描述:

《简单的异步串行通信编程实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、简单的异步串行通信编程实验(上)一、背景知识在数据通信中,通常将待传送的每个字符的二进制代码按照由低位到高位的顺序依次发送的方式成为串行通信。由于串行通信只需在发送方和接收方之间建立一条通信信道,因此可以减小通信系统的造价。在远程通信中,一般采用串行通信方式。同步就是要求通信的收发双方在时间基准上保持一致。在串行通信中,“异步”是同步收发双方通信的重要方式。在异步串行通信中,每个字符作为一个独立的整体进行发送,字符之间的时间间隔可以是任意的。为了实现同步,需要在每个字符的第一位前加1位起始位(逻辑1),并在字符的最后一位后加1位、1.5位或2位停止位(逻辑0)。常用的串行通信接口标准包括R

2、S-232、RS-449、V.24、V.35等。其中,RS-232是最常用的串行通信标准之一。个人计算机及终端系统中配备的串行接口几乎都符合RS-232标准。在数据通信中,通常将数据终端设备简称为DTE(dataterminalequipment),而将数据通信设备简称为DCE(datacircuitequipment)。DTE是具有一定数据处理能力以及发送和接收数据能力的设备,而DCE的主要作用是在DTE和传输线路之间提供信号变换和实现编码功能,并且负责建立、保持和释放数据链路的连接。RS-232是美国电子工业协会EIA推荐使用的串行通信标准,定义了DTE和DCE之间的接口标准。RS-2

3、32使用的连接器包括DB-25、DB-15、和DB-9等几种类型,不同类型连接器使用的引脚定义也各不相同。目前,个人计算机配备的RS-232连接器通常为DB-9,下图说明了RS-232在使用DB-9作为连接器时的引脚排列、信号名称和方向。  在Windows平台下,利用系统自带的“超级终端”可测试RS-232电缆连接的正确性。首先用RS-232电缆将实验用的两台计算机连接起来,然后在这两台计算机上同时启动Windows系统的“超级终端”串行口应用程序。在配置相同的情况下,如果两台计算机能够通过串行口正确通信,那么说明RS-232电缆以及两台计算机上的串行口都可以正常使用。测试流程截图如下:

4、首先,新建一个超级终端。 选择文件选项中的属性,在连接到选项卡中修改连接时使用的端口为COM1或COM2。 修改端口配置数据,将其还原为默认值。 在连接属性的设置选项卡中修改ASCII码设置。 在ASCII码设置中选中ASCII码发送的两个选项:以换行符作为发送行末尾和本地回显键入的字符。 输入字符后显示效果如下: 二、开发环境开发环境本次实验所要求编写的简单的异步串行通信程序使用WindowsXP平台下的VC6作为开发环境来创建一个MFC应用程序项目。首先,新建一个MFCAppWizard(exe)项目。  应用程序类型选择基于对话框式。由于程序并不复杂,加入特征选项可将关于对话框适当取

5、消。  选择MFC库作为静态链接库。 选择创建对话框的类。  在实验室中可以利用两台带有串口的计算机进行连接后的程序测试,但如果只有一台带有串口的计算机,异或是没有串口的笔记本电脑,则需要通过虚拟软件来创建若干串行口进行程序的测试。我使用的是虚拟串行驱动程序VSPD,这是一个可在计算机Windows下操作的程序,此驱动程序会创造数个“虚拟”的串行埠。由一般程序看来,这些虚拟的串行端口跟实体的串行端口相同,唯一不同于传统传输的地方是在于程序所送出的信息是透过TCP/IP局域网络送至虚拟串行端口,之后由EM100再将所收到的信息传达至串行设备。当串行设备要回传信息时,要先将信息传至EM100,

6、而后再藉由局域网络将信息传回至位于计算机端的虚拟串行驱动程序,当虚拟串行驱动程序收到信息后,又会将其传回给程序,就如同传统串行线的传输一般。所以不论串行设备或计算机程序都无法辨别真实串行与虚拟串行传输的不同。配置流程如下:在串行口管理选项卡中添加一对串口COM1和COM2。  添加之后如图所示。当没有程序加载时,所有串口处于关闭状态;加载后,程序会打开目标串口,VSPD中的串口探测器会显示当前串口的状态。 三、程序设计本次实验的程序为MFC应用程序,主要编辑文件为对话框程序文件及其头文件。程序本身主要可分为4个大模块,串行口打开模块、串行口状态值读取与属性设置模块、串行数据的发送与接收模块

7、以及串行口关闭模块。1、打开串行口在对串行口进行所有的操作之前,首先要将其打开。串行口的打开可以使用CreateFile函数,CreateFile函数将返回一个句柄,在随后与该串行口相关的各种操作中使用。函数原型为: HANDLECreateFile(LPCTSTRlpFileName,//要打开的串口逻辑名,即COM1或其他DWORDdwDesiredAccess,//串口访问权限,GENERIC_WRITE或GENE

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

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

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