- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MSComm控件详细介绍
MSComm控件详细介绍
MSComm控件详细介绍
时间:2010-5-13 22:24:59 来源: 作者:大头爸爸 点击:125次 MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。
它提供两种处理通信的方式:一是事件驱动方式,一是查询方式。
1.1 事件驱动方式
事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如,在串口接收缓冲区中有字符,或者 Carrier Detect (CD) 或 Request To Send (RTS) 线上一个字符到达或一个变化发生时。在这些情况下,可以利用 MSComm 控件的 OnComm 事件捕获并处理这些通讯事件。OnComm 事件还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅 CommEvent 属性。在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。这种方法的优点是程序响应及时,可靠性高。每个MSComm 控件对应着一个串行端口。如果应用程序需要访问多个串行端口,必须使用多个 MSComm 控件。
1.2 查询方式
查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程序的每个关键功能之后,可以通过检查 CommEvent 属性的值来检测事件和通讯错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字 符都产生事件,因为唯一等待接收的字符是调制解调器的“确定”响应。
MSComm控件有两种处理通信的方式,即事件驱动和查询方式。事件驱动方式是处理串行通信的一种有效的方法,它可以利用OnComm事件捕获并处理通信中发生的事件或错误,实时性较强。而查询方式是在程序通过查询CommEvent属性的值来判断通信过程中的事件或错误,这种方式适合于应用程序较小、实时性要求不高的系统中。
MSComm控件进行串行通信的一般步骤为:
1、设置通信对象、通信端口号及其它属性;
2、设定通信协议;
3、打开通信端口,进行数据的传送;
4、关闭通信端口
MSComm属性
Setting属性: 设置并返回波特率、奇偶校验、数据位、停止位参数。
值为字符串表达式,格式为:BBBB,P,D,S,分别对应为波特率、奇偶校验、数据位数、停止位数
如:MSComm1.Setting=9600,N,8,1 波特率9600bit/s,无效验,8位数据,1位停止位。
其值说明通讯端口的设置值,如果值非法,则MSComm控件产生错误380(非法属性值)
Setting属性缺省值为:9600,N,8,1
下表列出合法的波特率:
设置值:110、300、600、1200、2400、9600(缺省)、14400、19200、28800、38400、56000、128000、256000
下表说明合法的奇偶校验值。
设置值 描述
E 偶数 (Even)
M 标记 (Mark)
N 缺省 (Default) None
O 奇数 (Odd)
S 空格 (Space)
下表列出合法的数据位值。
设置值:4、5、6、7、8 (缺省)
下表列出合法的停止位值。
设置值:1 (缺省)、1.5、2
CommPort 属性:设置并返回通讯端口号。属性值为1~16,整型。
PortOpen 属性:设置并返回通讯端口的状态(开或关)。在设计时无效。
MSComm.PortOpen=true 打开端口
MSComm.PortOpen=false 关闭端口并清除接收和传输缓冲区
说明
设置 PortOpen 属性为 True 打开端口。设置为 False 关闭端口并清除接收和传输缓冲区。当应用程序终止时,MSComm 控件自动关闭串行端口。
在打开端口之前,确定 CommPort 属性设置为一个合法的端口号。如果 CommPort 属性设置为一个非法的端口号,则当打开该端口时,MSComm 控件产生错误 68(设备无效)。
另外,串行端口设备必须支持 Settings 属性当前的设置值。如果 Settings 属性包含硬件不支持的通讯设置值,那么硬件可能不会正常工作。
如果在端口打开之前,DTREnable 或 RTSEnable 属性设置为 True,当关闭端口时,该属性设置为 False。否则,DTR 和 RTS 线保持其先前的状态。
数据类型:Boolean
PortOpen 属性示例
下例以波特率 9600 打开 1 号通讯端口,没有奇偶检查,8 个数据位,1 个停止位。
MSComm1.Settings = 9600,n,8,1
MSComm1.CommPort =
文档评论(0)