版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VB Mscomm控件基本介绍(一)2006-09-19 12:27一、MSComm控件的主要属性、事件1、MSComm的属性 Commport:设置或返回串口号。 如设成1(默认值),表示对Com1进行操作。Settings:以字符串的形式设置或返回串口通信参数。包括串口通讯的比特率,奇偶校验,数据位长度、停止位等。其默认值 是“9600,N,8,1”,表示串口比特率是9600bit/s,不作奇偶校验,8位数据位,1个停止位。 Portopen:设置或返回串口状态。值为True时打开串口,值为False时关闭串口。 InputMode:设置或返回接收数据的类型。若值为0,则表示以文本形式读取
2、;值为1,则表示以 二进制形式读取。 Inputlen:设置或返回一次从接收缓冲区中读取字节数。 InBufferSize:设置或返回接收缓冲区的大小,缺省值为1024字节。 InBufferCount:设置或返回接收缓冲区中等待计算机接收的字符数。 当将其值设为0时,则输入寄存器将被清空。Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。 OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。 OutBufferCount:设置或返回发送缓冲区中等待计算机发送的字符数。当将其值设为0时,则输出寄存器将被清空。 Output:向发送缓冲区发送
3、数据,该属性设计时无效,运行时只读。 Rthreshold:该属性为一阀值。当接收缓冲区中字符数达到该值时,MSComm控件设置Commevent属性为ComEvReceive,并产生OnComm事件。用户可在OnComm事件处理程序中进行相应处理。若Rthreshold属性设置为0,则不产生OnComm事件。例如用户希望接收缓冲区中达到一个字符就接收一个字符,可将Rthreshold设置为1。这样接收缓冲区中接收到一个字符,就产生一次OnComm事件。 Sthreshold:该属性亦为一阀值。当发送缓冲区中字符数小于该值时,MSComm控件设置Commevent属性为ComEvSend,并产
4、生OnComm事件。若Sthreshold属性设置为0,则不产生OnComm事件。要特别注意的是仅当发送缓冲区中字符数小于该值的瞬间才产生OnComm事件,其后就不再产生OnComm事件。例如Sthreshold设置为3,仅当发送缓冲区中字符数从3降为2时,MSComm控件设置Commevent属性为ComEvSend,同时产生OnComm事件,如发送缓冲区中字符始终为2,则不会再产生OnComm事件。这就避免了发送缓冲区中数据未发送完就反复发生OnComm事件。 CommEvent:这是一个非常重要的属性。该属性设计时无效,运行时只读。一旦串口发生通信事件或产生错误,依据产生的事件和错误,M
5、SComm控件为CommEvent属性赋不同的代码,同时产生OnComm事件。用户程序就可在OnComm事件处理程序中针对不同的代码,进行相应的处理。CommEvent属性的代码、常数及含义参见后文2、MSComm的事件 除了公共事件之外,MSComm只有一个OnComm事件。当CommEvent属性值变化时将发生OnComm事件,指示发生一个通讯事件或错误。当我们设置Rtheshold属性值为0时,将使得捕获comEvReceive事件无效。 二、MSCcomm控件处理通信的方式 MSComm控件提供了两种处理通信的方式:一种为事件驱动方式,该方式相当于一般程序设计中的中断方式。当串口发生事
6、件或错误时,MSComm控件会产生OnComm事件,用户程序可以捕获该事件进行相应处理。另一种为查询方式,在用户程序中设计定时或不定时查询MSComm控件的某些属性是否发生变化,从而确定相应处理。 三、MSComm控件属性的详细说明 CommPort属性 设置并返回通讯端口号。语法 object.CommPortvalue (value 一整型值,说明端口号。) 说明 在设计时,value 可以设置成从 1 到 16 的任何数(缺省值为 1)。但是如果用 PortOpen 属性打开一个并不存在的端口时,MSComm 控件会产生错误 68(设备无效)。注意:必须在打开端口之前设置 CommPor
7、t 属性。RThreshold 属性:在 MSComm 控件设置 CommEvent 属性为 comEvReceive 并产生 OnComm 之前,设置并返回的要接收的字符数。语法 object.Rthreshold = value (value 整型表达式,说明在产生 OnComm 事件之前要接收的字符数。 )VB Mscomm控件基本介绍(二)2006-09-19 12:31说明 当接收字符后,若 Rthreshold 属性设置为 0(缺省值)则不产生 OnComm 事件。例如,设置 Rthreshold 为 1,接收缓冲区收到每一个字符都会使 MSComm 控件产生 OnComm 事件。
8、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 属性
9、为 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 事件之前,设置并返回传输缓冲区中允许的最小字符数。语法 object.SThr
10、eshold = value value 整形表达式,代表在 OnComm 事件产生之前在传输缓冲区中的最小字符数。 说明:若设置 Sthreshold 属性为 0(缺省值),数据传输事件不会产生 OnComm 事件。若设置 Sthreshold 属性为 1,当传输缓冲区完全空时,MSComm 控件产生 OnComm 事件。如果在传输缓冲区中的字符数小于 value,CommEvent 属性设置为 comEvSend,并产生 OnComm 事件。comEvSend 事件仅当字符数与 Sthreshold 交叉时被激活一次。例如,如果 Sthreshold 等于 5,仅当在输出队列中字符数从 5
11、 降到 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 接收事件。 comE
12、vCTS 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 端口超速 comEven
13、tCDTO 1007 Carrier detect 超时 comEventRxOver 1008 接收缓冲区溢出 comEventRxParity 1009 Parity 错误 VB Mscomm控件基本介绍(三)2006-09-19 12:31comEventTxFull 1010 传输缓冲区满 comEventDCB 1011 检索端口 设备控制块 (DCB) 时的意外错误 InputMode 常数常数 值 描述 comInputModeText 0 (缺省)通过 Input 属性以文本方式取回数据。 comInputModeBinary 1 通过 Input 属性以二进制方式检取回数据。
14、 CDHolding 属性:通过查询 Carrier Detect (CD) 线的状态确定当前是否有传输。Carrier Detect 是从调制解调器发送到相联计算机的一个信号,指示调制解调器正在联机。该属性在设计时无效,在运行时为只读。语法 object.CDHolding设置值:CDHolding 属性的设置值为: 设置 描述 True Carrier Detect 线为高电平 False Carrier Detect 线为低电平 说明:注意当 Carrier Detect 线为高电平 (CDHolding = True) 且超时时,MSComm 控件设置CommEvent 属性为 com
15、EventCDTO(Carrier Detect 超时错误),并产生 OnComm 事件。注意 在主机应用程序中捕获一个丢失的传输是特别重要的,例如一个公告板,因为呼叫者可以随时挂起(放弃传输)。Carrier Detect 也被称为 Receive Line Signal Detect (RLSD)。数据类型 BooleanDSRHolding 属性:确定 Data Set Ready (DSR) 线的状态。Data Set Ready 信号由调制解调器发送到相连计算机,指示作好操作准备。该属性在设计时无效,在运行时为只读。语法:object.DSRHoldingobject 所在处表示对象
16、表达式,其值是“应用于”列表中的对象。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 握手例程时该属性是十分有用的。数据类型:Boolea
17、n Settings 属性: 设置并返回波特率、奇偶校验、数据位、停止位参数。语法: object.Settings = value说明:当端口打开时,如果 value 非法,则 MSComm 控件产生错误 380(非法属性值)。Value 由四个设置值组成,有如下的格式:"BBBB,P,D,S"BBBB 为波特率,P 为奇偶校验,D 为数据位数,S 为停止位数。value 的缺省值是:"9600,N,8,1" InputLen 属性:设置并返回 Input 属性从接收缓冲区读取的字符数。语法 object.InputLen = va
18、lueInputLen 属性语法包括下列部分:value 整型表达式,说明 Input 属性从接收缓冲区中读取的字符数。 说明:InputLen 属性的缺省值是 0。设置 InputLen 为 0 时,使用 Input 将使 MSComm 控件读取接收缓冲区中全部的内容。若接收缓冲区中 InputLen 字符无效,Input 属性返回一个零长度字符串 ("")。在使用 Input 前,用户可以选择检查 InBufferCount 属性来确定缓冲区中是否已有需要数目的字符。该属性在从输出格式为定长数据的机器读取VB Mscomm控件基本介绍(四)2006-09-19 12:3
19、2数据时非常有用。 EOFEnable 属性:确定在输入过程中 MSComm 控件是否寻找文件结尾 (EOF) 字符。如果找到 EOF 字符,将停止输入并激活 OnComm 事件,此时 CommEvent 属性设置为 comEvEOF,语法:object.EOFEnable = value EOFEnable 属性语法包括下列部分:value 布尔表达式,确定当找到 EOF 字符时,OnComm 事件是否被激活,如“设置值”中所描述。 value 的设置值:True 当 EOF 字符找到时 OnComm 事件被激活。 False (缺省)当 EOF 字符找到时 OnComm 事件不被激活。 说明:当 EOFEnable 属性设置为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度烟草职业技能鉴定常考点试卷附答案详解(综合题)
- 2024-2025学年度成都工贸职业技术学院单招《英语》过关检测试卷(典型题)附答案详解
- 2024-2025学年反射疗法师大赛理论能力检测试卷附完整答案详解(有一套)
- 2024-2025学年公务员考试《常识》考前冲刺练习题附完整答案详解(必刷)
- 公共安全保障安全责任承诺函5篇
- 2024-2025学年度燃气职业技能鉴定考试综合练习含答案详解【巩固】
- 2024-2025学年度岳阳职业技术学院单招《物理》考试黑钻押题附答案详解【巩固】
- 2024-2025学年度护士资格证测试卷及答案详解【夺冠系列】
- 2024-2025学年伊春职业学院单招《职业适应性测试》考前冲刺测试卷【典型题】附答案详解
- 2024-2025学年度无人机资格证检测卷及完整答案详解
- 新疆维吾尔自治区、新疆生产建设兵团2025年中考道德与法治真题附同步解析
- 医院保洁员院感培训课件
- 网格员招聘笔试必考题库(含答案)
- 国有林考试题库及答案
- 河海大水利计算及水资源规划课件07水资源规划和水库群调度
- 湖南省多测合一收费指导标准(试行)2024年版
- 低蛋白血症的护理
- 【课件】第四单元跨学科实践活动3水质检测及自制净水器-2025-2026学年九年级化学人教版(2024)上册
- 王维古诗教学课件
- J电子组装公司全面质量管理体系优化研究
- 新制定生态环境行政处罚办法学习解读专题课件
评论
0/150
提交评论