已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三 RS232通信程序设计,1. 实验要求 设计两台主机通过RS232接口进行字符通信的Windows程序,实现最基本的双人聊天功能,理解物理层通信的实现过程。 2. 实验条件 带有RS232接口的计算机,一条RS232连接线(双机互连或一台计算机的两个串口互连)。,3.实验指导,(1) RS232C 接口9个引脚信号列表与时序,3.实验指导 引 脚 意 义 1. CD Carrier Detect 数据载波侦测 2. RD Receive Data 接收数据 3. TD Transmit Data 发送数据 4. DTR Data Terminate Ready 数据终端准备好 5. SG Singal Set Ready 地线 6. DSR Data Set Ready 数据准备好 7. RTS Request To Send 请求发送 8. CTS Clear To Send 清除发送 9. RI Ring Indicate 铃声指示器,(1) RS232C 接口9个引脚信号列表与时序,PC PC DTR 步骤1 DSR 步骤2 RTS 步骤3 DCD 步骤4 CTS 步骤5 TD 步骤6 RD 步骤7,(1) RS232C 接口9个引脚信号列表与时序,在Windows环境下设计串口通信程序,一种途径是利用Microsoft公司提供的ActiveX控件MSComm32.ocx,它为开发RS-232通信程序提供了简便方法。(详细属性见PPT附录,P1524) MSComm控件的通信功能实现,实际上是调用了API函数,而API函数是由Comm.Drv解释并传给设备驱动程序执行的,对于应用程序开发者只需知道MSComm控件的属性和事件的用法即可以实现对串口的操作。,(2) MSComm32控件的属性,通常按照下面的步骤来使用MSComm控件进行通信控制: 加入MSComm对象; 选定通信端口号,即设定Commport属性; 设定通信参数,即Settings属性; 确定采用中断或是轮询方式处理到达数据; 开启通信端口,即将portOpen属性设为true ; 使用Input或Output属性,送出字符串或读入字符串; 结束通信活动后,将通信端口关闭。,(3) 利用MSComm控件的通信步骤,使用C#设计RS-232通信程序的关键有三点: MSComm控件的添加、控件属性设置、使用控件接收和发送数据。,(5) C#编程要点, 添加MSComm控件 C#开发平台在缺省状态下工具箱中并无MSComm控件。 1. “项目”“添加引用”“COM”菜单栏加入Microsoft Comm Control组件 2. “工具”“选择工具箱项”“COM组件”菜单栏中选择Microsoft Communication Control组件 3. 在工具箱中找到MSComm控件(带有电话机图标) 4. 把MSComm控件添加到FORM中。其缺省名字是axMSComm1,以下假定重命名为Comm1。,(6) 实验步骤,若VS2005没有MSComm引用,需手动添加: (1) 复制文件MSCOMM32.OCX到C:WINDOWSsystem32目录下。 (2)注册组件:开始-运行-输入 regsvr32 mscomm32.ocx,注意事项,截图: 添加引用,截图:添加控件,几个主要属性设置如下: Comm1.CommPort = 3; /设定串口号 Comm1.RThreshold = 1; /当接收到1个字节数据时就触发OnComm事件 Comm1.Settings = “ 9600,n,8,1”; /设置通信参数 Comm1.InputLen = 0; /利用Input可读取输入缓冲区所有到达的数据,串口控件属性的设置,数据的发送容易实现,只需将要发送的数据赋值给Output,代码示例如下: 由于前面Rthreshold属性设置为1,所以只要有数据到达就会产生OnComm事件,并将CommEvent属性值置为ComEvReceive,使用控件接收和发送数据,实现数据接收示例代码如下:,使用控件接收和发送数据,程序主界面(参考),CommPort属性 该属性用于设置或返回连接的串口编号。 Setting属性 该属性用于设置或返回通信参数,属性值用字符串表示,主要设定波特率、奇偶检验、数据位数,停止位等4个参数。组成格式为: “BBBB,P,D,S”,附录: (2)MSComm32控件的属性,Handshaking属性 该属性用于设置或返回硬件握手协议,即PC机与通信设备(如Modem)之间为了控制流速而约定的内部协议,属性值可以设置为如下的值: 符号值 数值 描述 ComNone 0 默认值,无握手协议 ComXOnOff 1 Xon/Xoff握手协议 ComRTS 2 RTS/CTS握手协议 comRTSXOnXOff 3 Xon/Xoff握手协议和RTS/CTS握手协议,(2) MSComm32控件的属性,PortOpen属性 该属性用于打开或关闭端口。属性值为Boolean型。设为True可以打开端口;设为False 可以关闭端口。 OutBuffersize属性 该属性用于设置或返回发送缓冲区大小,值为Integer型,表示发送缓冲区的字节数,缺省值为512字节。 OutBufferCounter属性 该属性用于返回发送缓冲区内等待发送的字节数,可用来清空缓冲区。,(2) MSComm32控件的属性,OutPut属性 该属性用于通过发送缓冲区发送数据。 SThreshold属性 该属性为一阀值,当输出缓冲区字节数小于该值后就产生OnComm事件,并且CommEvent属性会被设定为ComEvSend。如果该值为0(默认值),则不会因输出缓冲区变化产生OnComm事件。,(2) MSComm32控件的属性,InBuffersize属性 该属性用于设置或返回输入缓冲区大小,缺省值为1024字节。 InBufferCount属性 该属性用于返回输入缓冲区内等待读取的字节个数,可通过设置该属性为0来清除接收缓冲区。 InputLen属性 该属性用于设置或返回接收缓冲区内用Input属性命令读入的字节个数。若取0 (默认值), 则Input属性读取缓冲区中所有到达的字节。,(2) MSComm32控件的属性,Input属性 该属性用于从接收缓冲区读取并移走数据,每次处理的字节数由InputLen属性的设定值决定。 RThreshold属性 该属性为一阀值,当接收缓冲区内字节个数达到或超过该值后就产生OnComm事件,并且CommEvent属性会被设定为ComEvReceive。如果该值为0(默认值),则无论有多少数据到达输入缓冲区都不会产生OnComm事件。,(2) MSComm32控件的属性,InputMode属性 该属性用于设置或返回接收数据的类型。 若取缺省值0 (comInputModeText),则Input接收文本型数据。 取值1(comInputModeBinary),则Input属性接收二进制数据。,(2) MSComm32控件的属性,DTREnable属性 该属性确定在通信时是否使Data Terminal Ready(DTR)线有效。Data Terminal Ready是计算机发送到调制解调器的信号,指示计算机在等待接受传输。 RTSEnable属性 该属性确定是否使Request TO Send(RTS)线有效。一般情况下,由计算机发送RTS信号到连接的调制解调器,以请示是否允许发送数据。,(2) MSComm32控件的属性,MSComm控件只有一个事件,即OnComm事件。事件驱动通信是处理串行端口交互作用非常有效的方法,依据产生的事件和错误,MSComm控件为CommEvent属性赋不同的代码,同时产生OnComm事件。用户程序就可在OnComm事件处理程序中针对不同的CommEvent属性值执行不同的操作。,OnComm事件与CommEvent属性,(2) MSComm32控件的属性,CommEvent属性设计时无效,运行时只读。 常见CommEvent属性值如下: ComEvReceive :当Rthreshold属性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快递安检机操作安全规程
- 2026年农业种植技术员实操技能考核试卷及答案
- CRRT局部枸橼酸抗凝突发低钙急救共识
- 湿式除尘器安全操作规程
- PCB开料岗位技能考核试题(含详细答案)
- 职业性哮喘脱离接触后随访规范共识
- 2026年安全环保知识竞赛考试试题(附答案)
- 2026年广播电视播音员主持人资格(广播电视基础知识)自测试题及答案
- 全员安全生产责任清单落地方案
- NSATP网络安全从业人员能力测评模拟试题(含详细答案解析)
- TCECS 1273-2023 冶炼渣骨料应用技术规程
- 二年级数学应用题题型及解答技巧
- 隧道开挖清包工合同协议
- 摩托三力测试试题及答案
- 第四十课-椭圆及其标准方程省公开课金奖全国赛课一等奖微课获奖课件
- 卡通小学生校园用电安全教育作品
- 中医中药辨识
- 我国牛病流行的现状及对策
- ifix培训教程课件
- 《新课程学习辅导》历史九下 统编版 答案
- 马克思主义经典著作选读智慧树知到课后章节答案2023年下四川大学
评论
0/150
提交评论