VB控件VB通信控件MSComm使用方法(一)

上传人:碎****木 文档编号:292214908 上传时间:2022-05-13 格式:DOCX 页数:6 大小:14.32KB
返回 下载 相关 举报
VB控件VB通信控件MSComm使用方法(一)_第1页
第1页 / 共6页
VB控件VB通信控件MSComm使用方法(一)_第2页
第2页 / 共6页
VB控件VB通信控件MSComm使用方法(一)_第3页
第3页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《VB控件VB通信控件MSComm使用方法(一)》由会员分享,可在线阅读,更多相关《VB控件VB通信控件MSComm使用方法(一)(6页珍藏版)》请在金锄头文库上搜索。

1、 VB控件:VB通信控件MSComm使用方法(一)MSComm控件供应以下两种处理通讯的方式:大事驱动方式和查询方式。1.1 大事驱动方式大事驱动通讯是处理串行端口交互作用的一种特别有效的方法。在很多状况下,在大事发生时需要得到通知,例如,在串口接收缓冲区中有字符,或者 Carrier Detect (CD) 或 Request To Send (RTS) 线上一个字符到达或一个变化发生时。在这些状况下,可以利用 MSComm 控件的 OnComm 大事捕获并处理这些通讯大事。OnComm 大事还可以检查和处理通讯错误。全部通讯大事和通讯错误的列表,参阅 CommEvent 属性。在编程过程中

2、,就可以在OnComm大事处理函数中参加自己的处理代码。这种方法的优点是程序响应准时,牢靠性高。每个MSComm 控件对应着一个串行端口。假如应用程序需要访问多个串行端口,必需使用多个 MSComm 控件。1.2 查询方式查询方式实质上还是大事驱动,但在有些状况下,这种方式显得更为便捷。在程序的每个关键功能之后,可以通过检查 CommEvent 属性的值来查询大事和错误。假如应用程序较小,并且是自保持的,这种方法可能是更可取的。例如,假如写一个简洁的电话拨号程序,则没有必要对每接收一个字符都产生大事,由于等待接收的字符是调制解调器的“确定”响应。2.MSComm 控件的常用属性MSComm 控

3、件有许多重要的属性,但首先必需熟识几个属性。 CommPort 设置并返回通讯端口号。Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停顿位。PortOpen 设置并返回通讯端口的状态。也可以翻开和关闭端口。Input 从接收缓冲区返回和删除字符。Output 向传输缓冲区写一个字符串。下面分别描述:CommPort属性:设置并返回通讯端口号。语法 object.CommPortvalue (value 一整型值,说明端口号。)说明 在设计时,value 可以设置成从 1 到 16 的任何数(缺省值为 1)。但是假如用 PortOpen 属性翻开一个并不存在的端口时,MSC

4、omm 控件会产生错误 68(设备无效)。留意:必需在翻开端口之前设置 CommPort 属性。RThreshold 属性:在 MSComm 控件设置 CommEvent 属性为 comEvReceive 并产生 OnComm 之前,设置并返回的要接收的字符数。语法:object.Rthreshold = value (value 整型表达式,说明在产生 OnComm 大事之前要接收的字符数。 )说明:当接收字符后,若 Rthreshold 属性设置为 0(缺省值)则不产生 OnComm 大事。例如,设置 Rthreshold 为 1,接收缓冲区收到每一个字符都会使 MSComm 控件产生 O

5、nComm 大事。CTSHolding 属性:确定是否可通过查询 Clear To Send (CTS) 线的状态发送数据。Clear To Send 是调制解调器发送到相联计算机的信号,指示传输可以进展。该属性在设计时无效,在运行时为只读。语法: object.CTSHolding(Boolean)Mscomm 控件的 CTSHolding 属性设置值:True Clear To Send 线为高电平。False Clear To Send 线为低电平。说明:假如 Clear To Send 线为低电平 (CTSHolding = False) 并且超时时,MSComm 控件设置 CommE

6、vent 属性为 comEventCTSTO (Clear To Send Timeout) 并产生 OnComm 大事。Clear To Send 线用于 RTS/CTS (Request To Send/Clear To Send) 硬件握手。假如需要确定 Clear To Send 线的状态,CTSHolding 属性给出一种手工查询的方法。具体信息 有关握手协议,请参阅 Handshaking 属性。SThreshold 属性: MSComm 控件设置 CommEvent 属性为 comEvSend 并产生 OnComm 大事之前,设置并返回传输缓冲区中允许的最小字符数。语法 obje

7、ct.SThreshold = value value 整形表达式,代表在 OnComm 大事产生之前在传输缓冲区中的最小字符数。说明:若设置 Sthreshold 属性为 0(缺省值),数据传输大事不会产生 OnComm 大事。若设置 Sthreshold 属性为 1,当传输缓冲区完全空时,MSComm 控件产生 OnComm 大事。假如在传输缓冲区中的字符数小于 value,CommEvent 属性设置为 comEvSend,并产生 OnComm 大事。comEvSend 大事仅当字符数与 Sthreshold 穿插时被激活一次。例如,假如 Sthreshold 等于 5,仅当在输出队列中

8、字符数从 5 降到 4 时,comEvSend 才发生。假如在输出队列中从没有比 Sthreshold 多的字符,comEvSend 大事将绝不会发生。Handshake 常数 常数 值 描述comNone 0 无握手。comXonXoff 1 XOn/Xoff 握手。comRTS 2 Request-to-send/clear-to-send 握手。comRTSXOnXOff 3 Request-to-send 和 clear-to-send 握手皆可。 OnComm 常数 常数 值 描述comEvSend 1 发送大事。comEvReceive 2 接收大事。comEvCTS 3 clea

9、r-to-send 线变化。comEvDSR 4 data-set ready 线变化。comEvCD 5 carrier detect 线变化。comEvRing 6 振铃检测。 Error 常数 常数 值 描述 comEventBreak 1001 接收到中断信号comEventCTSTO 1002 Clear-to-send 超时comEventDSRTO 1003 Data-set ready 超时comEventFrame 1004 帧错误comEventOverrun 1006 端口超速comEventCDTO 1007 Carrier detect 超时comEventRxOve

10、r 1008 接收缓冲区溢出comEventRxParity 1009 Parity 错误comEventTxFull 1010 传输缓冲区满comEventDCB 1011 检索端口 设备掌握块 (DCB) 时的意外错误InputMode 常数 常数 值 描述comInputModeText 0 (缺省) 通过 Input 属性以文本方式取回数据。comInputModeBinary 1 通过 Input 属性以二进制方式检取回数据。CDHolding 属性:通过查询 Carrier Detect (CD) 线的状态确定当前是否有传输。Carrier Detect 是从调制解调器发送到相联计

11、算机的一个信号,指示调制解调器正在联机。该属性在设计时无效,在运行时为只读。语法 object.CDHolding设置值:CDHolding 属性的设置值为: 设置 描述True Carrier Detect 线为高电平False Carrier Detect 线为低电平说明:留意当 Carrier Detect 线为高电平 (CDHolding = True) 且超时时,MSComm 控件设置CommEvent 属性为 comEventCDTO(Carrier Detect 超时错误),并产生 OnComm 大事。留意 在主机应用程序中捕获一个丧失的传输是特殊重要的,例如一个公告板,由于呼叫者可以随时挂起(放弃传输)。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号