- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一物理层实验
实验一 物理层实验
一、实验目的
1. 进一步理解并掌握物理层的定义和功能。
2. 了解并掌握物理层的特性。
3. 掌握物理层典型的接口规范EIA RS 232C的功能特性,并利用RS 232C通信接口实现两台PC间会话的基本通信程序。
4. 进一步掌握Windows下事件编程机理,掌握VC++/C++Builder中用户自定义事件、消息的使用方法,以及消息响应函数的编写方法。
二、实验内容
1. 观察实验用串行口连线的连接情况。
2. 按图1-5(a)所示的计算机网络原理实验物理连接模型,将PC连接起来。
3. 仔细阅读TSerialPort类的定义及实现的源代码。
4. 设计基本串行通信程序,在两台通过RS 232C串行口连接的PC间传输单个字符。
(a) (b)
图1-5 网络原理实验物理连接方法
三、相关知识
计算机或终端与调制解调器间的接口是物理层协议的一个实例,其中典型的物理层标准是美国电子工业协会EIA提出的RS-232C。在数据通信中,数据终端设备(DTE)是指具有一定数据处理能力及收发数据能力的设备,如计算机。数据电路端接设备(DCE)是指在DTE和传输线路之间提供信号变换 和编码功能,并负责建立、保持和释放数据链路的连接,如MODEM。RS232就是DTE和DCE就是之间的接口标准,其主要内容包括:
机械特性:采用25芯连接器,DTE为插头,DCE为插座。
电气特性:采用非平衡型电气特性,低于-3V为“1”,高于+4V为 “0”,最大20Kbps,最长15m。
功能特性:定义了21条线,许多子集,基本与CCITT V.24兼容。
规程特性:对不同的功能子集,有不同的规程。RS-232C有14中不同的接口类型,适合于单工、半双工、全双工、同步、异步。
RS-232C的缺点是传输性能低,距离短,速率低。1977年以RS-232C为基础,进行改进,提出RS-449。之后重新设计,提出了X.21接口规范。
EIA RS-232C采用25针连接器(DB-25),图1-2给出了25针连接器的连接方法。
图1-2 RS-232C接口的连接
然而目前每个PC上一般配置的是两个9针RS 232C连接器,它们分别用COM1和COM2表示,每个连接器的引脚功能见下表1-1。
表1-1 RS-232C引脚功能
引脚 功能 1 载波检测 2 发送数据 3 接收数据 4 数据设备就绪 5 信号地 6 数据终端就绪 7 请求发送 8 清除发送
通信距离较近时(小于15米),可以用电缆直接连接标准R232端口,即采用空(零)MODEM方式连接。实验中两台PC通过RS 232C串行通信口连接就是采用这种方法连接的,连接方法见下表1-2。也可以采用更为简单的连接方法,即只使用2、3、5三个引脚的功能。这样,通过访问串行口,就可以在两台PC间发送或接收数据。
表1-2 空MODEM连接方法(9针连接器)
PC A串行端口连接器 PC B串行端口连接器 3 2 2 3 7 8 8 7 6, 1 4 5 5 4 6, 1 四、实验指导
(1) 设计MDI应用程序界面。
创建一个MDI应用程序,MDI子窗体上放置一个Memo组件。
(2) 将文件SerialPort.h和SerialPort.cpp添加到工程中,并在main.h中添加#include SerialPort.h一行。
(3) 在父窗体的初始化代码中,初始化串行口,并为每个串行口创建对应的一个接收窗体和一个发送窗体。
(4) 编写接收窗口Memo组件的KeyDown事件代码,以便将用户的输入发送到串行口。
(3) 在主窗体中定义WM_COMM_RXCHAR消息的映射及相应的消息函数。
(4) 编写相应的消息处理函数,将接收到的数据显示在接收窗口中。
(1).public Physical(string CommPort){
try {
port = new SerialPort(CommPort, 9600, Parity.None, 3, StopBits.One);
port.ReadBufferSize = 32;
PhySap = new SAP(); }
catch (Exception e){
}
}
(2).private void MainForm_Load(object sender, EventArgs e) {
sendForm = new ChildForm();
文档评论(0)