- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串口通信控件讲述
PAGE
PAGE 13
附录A 串行通信控件MSComm
在Visual Studio(VB.NET、VC++.NET、C#.NET)中编写串口通讯程序,一般都使用Microsoft?Communication?Control(简称MSComm)的通讯控件,只要通?过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通讯。但在Microsoft .NET技术广泛应用的今天,Visual Studio没有将此控件加入控件库,所以人们采用了3种方法在Visual Studio中编写串口通讯程序:第一种方法是通过采用原来的MSComm控件,这是最简单的,最方便的方法,但需要注册(可以通过安装VB6.0或VC++6.0来实现);第二种方法是采用微软在.NET中推出的一个串口控件SerialPort,方便地实现所需要串口通讯的多种功能;第三种方法是用API函数进行串口通信,虽然难度高,但可以方便实现自己想要的各种功能。
一、MScomm控件的使用
MSComm控件全称为Microsoft Communications Control,是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它既可以用来提供简单的串行端口通信功能,也可以用来创建功能完备的、事件驱动的高级通信工具。
MSComm控件在串口编程时非常方便,程序员不必花时间去了解较为复杂的API函数,而且在VB.NET、VC++.NET、C#.NET等语言中均可使用。使用它可以建立与串行端口的连接,通过串行端口连接到其它通信设备(例如调制解调器),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。利用它可以进行诸如拨打电话、监视串行端口的输入数据乃至创建功能完备的终端程序等。
1.MSComm控件处理通信的方式
MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通信功能。
它提供下列两种处理通信的方式:
1)事件驱动方式
该方式相当于一般程序设计中的中断方式。当串口发生事件或错误时,MSComm 控件会产生OnComm 事件,用户程序可以捕获该事件进行相应处理。它是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时程序会希望得到通知,例如,在串口接收缓冲区中有一个字符到达或一个变化发生时,程序都可以利用 MSComm 控件的OnComm 事件捕获并处理这些通信事件;OnComm 事件还可以检查和处理通信错误。在程序的每???关键功能之后,可以通过检查CommEvent 属性的值来查询事件和错误。
在程序设计中,可以在OnComm 事件处理函数中加入自己的处理代码,一旦事件发生即可自动执行该段程序。这种方法的优点是程序响应及时,可靠性高。
2)查询方式?
在程序的每个关键功能之后,在用户程序中设计定时或不定时的查询 ,通过检查 CommEvent 属性的值来查询事件和错误,从而作出相应的处理。在进行简单应用程序设计时可采用这种方法。例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“OK”响应。
查询方式的进行可用计时器Timer或Do…Loop程序实现。查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。
2.MSComm 控件的引用
开始一个项目的设计时,VB.NET、VC++.NET、C#.NET的工具箱中会有许多默认的控件让设计者选用,这些原本就出现在工具箱中的控件是内置控件,它提供了一些基本的系统设计组件给设计者,不过,功能比较特别的控件就不会出现在其中,而用来设计通信功能的控件MSComm就不在其中。
由于VB.NET、VC++.NET、C#.NET的串行通信组件MSComm并不会主动出现在工具箱里中,当我们需要MSComm控件时,首先要把它加入到工具箱中。
让MSComm控件出现在工具箱中的步骤如下:
执行“工具”菜单下的“选择工具箱…”子菜单,在弹出的对话框中,选择“COM组件”选项卡,选中“Microsoft Communication Control version 6.0”复选框,如图A-1所示,单击“确定”按钮后,在工具箱“组件”栏中就出现了一个形似“电话”的图标,它就是MSComm控件,如图A-2所示。
图A-1 添加MSComm控件
图A-2 工具箱中的MSComm控件
工具箱中有了MSComm控件,就可以选择MSComm控件的图标后将其加到程序窗体上,利用该控件PC机就可以通过VB.NET、VC++.NET、C#.NET实现与串口设备的串口通信了。
如果打开的是以前的项目,项目中含有MSComm控件的引用记录,则项目会自动去搜寻MSComm控件,并将它载入,不需要以上的步骤。
每
文档评论(0)