- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.1 基于RS-232协议的串口通讯实验
1.1.1实验目的:
(1)理解串口通讯和RS-232协议的原理
(2)掌握RS-232串口的基本连接方法
(3)在Windows环境下,设计完成通过串口进行计算机通讯的程序设计 。
(4)掌握ActiveX控件MSComm在VC编程中的使用。
1.1.2实验设备与分组:
PC机(两台)、串口线、Windows2000 pro/xp 系统、Vc++6.0软件。
两个同学一组,其中一位做接收端,另一位做发送端。
1.1.3实验内容:
1.硬件互联(以两台计算机通讯为例)
微机之间通过RS-232串口通讯的连接器主要有9针(DB-9);15针(DB-15)和25针(DB-25)的串口连接器。本实验计算机彼此之间以DB-9彼此相连。
DB-9连接器引脚示意图如图1.1。
图1.1 DB-9连接器引脚示意图
RS-232串口通讯的基本接线方法为常用三线制接法,即甲计算机的发送端TxD接乙计算机的接收端RxD;甲计算机的接收端RxD接乙计算机的发送端TxD;地线SG彼此互联。
以下表为例:9针――9针
表1.1 三线制连接
PC机甲 PC机乙 2(RxD) 3(TxD) 3 (TxD) 2 (RxD) 5 (SG) 5( SG) 2. 在Visual C++环境下用MSComm控件进行串口编程:
(1)使用串口驱动方式编写串口通讯程序的基本原理
MSComm控件是ActiveX控件的一种,通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件可以较为方便的进行串口编程,程序员不必花时间去了解较为复杂的API函数,而且在Visual C++,Visual Basic,Delphi等语言中均可使用
事件驱动通讯是处理串行端口交互作用的一种非常有效的方法,在许多情况下,事件发生时需要得到通知。例如,在串口接收缓冲区中有字符,或者Carrier Detec(CD)或Request To Send(RTS)线上的一个字符到达或一个事件发生时。在这些情况下,可以利用MSComm控件的OnComm事件捕获并处理这些通信事件。OnComm事件还可以检查和处理通讯错误。如果要了解所有通讯事件和通讯错误的列表,请参阅CommEvent属性。在编程过程中就可以在OnComm事件处理函数中加入自己的处理代码。这种方法的优点是程序响应及时,可靠性高。每个MSComm控件对应着一个串行端口。如果应用程序要访问多个串行端口,必须使用多个MSComm控件。
(2)程序涉及的功能函数简介
1)MSComm控件的InPut属性:
VARIANT GetInput;
InPut属性表示从接收缓冲区移走一串字符,将缓冲区中收到的数据读入变量,属性值为为Variant型变量。该属性在端口未打开时不可用,在运行时是只读的。
2)InBufferCount属性:
Void SetInBufferCount(shout nNew Value):shout GetInBufferCount();
InBufferCount属性用于返回输入缓冲区的等待读取的字节个数,可以通过该属性值为0来清除接收缓冲区。
3)Settings属性
Void SetSettings(LPCTSTR value);String GetSettings();
该属性用于设置并返回数据传输速率,奇偶校验,数据比特,停止比特参数。当端口打开时,如果value非法,则MSComm控件产生错误380(非法属性值)。
1.1.4实验步骤:
1.硬件连接:
在本实验中只要把母槽的串口连接线分别联结两台微机的九针串口公槽即可。
注意:本实验为简单起见,在发送端最多可以发送8个字符或4个汉字
2.创建接收端的主程序
(1) 创建空的MFC工程
首先打开VC环境,单击“文件”主菜单中的“新建”菜单项,在弹出的“新建”窗体中选择“工程”标签,在标签下的列表框中列出的应用程序类型中选择“MFC AppWizard”选项。在右边的“工程”文本框中填写工程名JieShou,并在下面的对话框中指定相应的路径。
此时系统弹出“MFC Wizard Step 1”对话框,在可选的程序类型中选择“基本对话(Dialog based),在其后弹出的3个窗体中,单击“下一步(next)”即可,直至完成。至此,空的MFC工程建立完毕。
(2)ID_COMMCTRL。再打开取消按钮的属性页,把它的ID改为IDC_CLEAR,标题改为“清屏”。
(3)设计窗体及相应变量和函数的设置
设计窗体如图1.4所示
图1.4 接收端窗体的设计
将edit控件的ID设置成IDC_RECEIVE,
文档评论(0)