资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
MSComm控件使用详解 作者:佚名 来源:不详 发布时间:2005-5-15 18:17:54 发布人:admin 目 次 MSComm控件两种处理通讯的方式 CommPort属性 RThreshold 属性 CTSHolding 属性 SThreshold 属性 CDHolding 属性 DSRHolding 属性 Settings 属性 InputLen 属性 EOFEnable 属性 Handshake 常数 OnComm 常数 InputMode 常数 错误消息 MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。 Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。具体的来说,它提供了两种处理通信问题的方法:一是事件驱动(Eventdriven)方法,一是查询法。 1.MSComm控件两种处理通讯的方式 MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。 1.1 事件驱动方式 事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如,在串口接收缓冲区中有 , 者 Carrier Detect (CD) Request To Send (RTS) 一 到 一 化发生时。在 情况下,可以 用 MSComm 控件的 OnComm 事件 处理 通讯事件。OnComm 事件 可以 查和处理通讯错误。 有通讯事件和通讯错误的列 ,CommEvent 属性。在编程过程中, 可以在OnComm事件处理函数中 的处理 。 种方法的 是程序 应 时,可 性 。 MSComm 控件应一 串行端口。如应用程序需要问多 串行端口,必使用多 MSComm 控件。 1.2 查询方式 查询方式currency1 是事件驱动,在有 情况下, 种方式“得为便。在程序的 fi功能fl ,可以通过 查 CommEvent 属性的来查询事件和错误。如应用程序较, 且是 的, 种方法可能是可 的。例如,如一 简的”程序,有必要接收一 生事件, 为一等接收的 是解的 应。 2.MSComm 控件的常用属性 MSComm控件有多要的属性, 必 属性。 CommPort 通讯端口。 Settings 以 串的 式 、 、数据 、 。 PortOpen 通讯端口的 。 可以 和 端口。 Input 接收缓冲区 和 。 Output 传输缓冲区一 串。 下 : CommPort属性 通讯端口。 语法 object.CommPortvalue (value 一 ,说端口。) 说 在 时,value 可以 1 到 16 的 数( 为 1)。是如用 PortOpen 属性 一 不在的端口时,MSComm 控件生错误 68( 效)。 :必在 端口fl CommPort 属性。 RThreshold 属性:在 MSComm 控件 CommEvent 属性为 comEvReceive 生 OnComm fl , 的要接收的 数。 语法 object.Rthreshold = value (value 式,说在生 OnComm 事件fl要接收的 数。 ) 说 接收 ,若 Rthreshold 属性 为 0( )不生 OnComm 事件。例如, Rthreshold 为 1,接收缓冲区收到一 使 MSComm 控件生 OnComm 事件。 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 控件 CommEvent 属性为 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 事件fl , 传输缓冲区中允许的最 数。 语法 object.SThreshold = value value 式, 在 OnComm 事件生fl 在传输缓冲区中的最 数。 说:若 Sthreshold 属性为 0( ),数据传输事件不生 OnComm 事件。若 Sthreshold 属性为 1, 传输缓冲区完全空时,MSComm 控件生 OnComm 事件。如在传输缓冲区中的 数于 value,CommEvent 属性 为 comEvSend, 生 OnComm 事件。comEvSend 事件仅 数与 Sthreshold 交叉时被激活一次。例如,如 Sthreshold 等于 5,仅 在输出队列中 数 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 clear-to-send 化。 comEvDSR 4 data-set ready 化。 comEvCD 5 carrier detect 化。 comEvRing 6 振铃 测。 comEvEOF 7 文件结束。 Error 常数 常数 comEventBreak 1001 接收到中断信 comEventCTSTO 1002 Clear-to-send 超时 comEventDSRTO 1003 Data-set ready 超时 comEventFrame 1004 帧错误 comEventOverrun 1006 端口超速 comEventCDTO 1007 Carrier detect 超时 comEventRxOver 1008 接收缓冲区溢出 comEventRxParity 1009 Parity 错误 comEventTxFull 1010 传输缓冲区满 comEventDCB 1011 索端口 控块 (DCB) 时的 外错误 InputMode 常数 常数 comInputModeText 0 ( )通过 Input 属性以文本方式 数据。 comInputModeBinary 1 通过 Input 属性以二进方式 数据。 CDHolding 属性:通过查询 Carrier Detect (CD) 的 是否有传输。Carrier Detect 是 解发送到相联 算机的一 信,指示解正在联机。该属性在 时效,在运行时为只读。 语法 object.CDHolding :CDHolding 属性的 为: True Carrier Detect 为 平 False Carrier Detect 为低平 说: Carrier Detect 为 平 (CDHolding = True) 且超时时,MSComm 控件 CommEvent 属性为 comEventCDTO(Carrier Detect 超时错误), 生 OnComm 事件。 在主机应用程序中 一 丢失的传输是 要的,例如一 公告板, 为呼叫者可以随时挂起(放弃传输)。 Carrier Detect 被称为 Receive Line Signal Detect (RLSD)。 数据类 Boolean DSRHolding 属性: Data Set Ready (DSR) 的 。Data Set Ready 信由解发送到相连 算机,指示作好操作准。该属性在 时效,在运行时为只读。 语法:object.DSRHolding object 在处 示象 式,其是应用于 列 中的象。 DSRHolding 属性 以下: True Data Set Ready False Data Set Ready 低 说: Data Set Ready 为 平 (DSRHolding = True) 且超时时,MSComm 控件CommEvent 属性为 comEventDSRTO(数据准超时) 生 OnComm 事件。 为 Data Terminal Equipment (DTE) 机 Data Set Ready/Data Terminal Ready 握手例程时该属性是十有用的。 数据类 :Boolean Settings 属性:
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号