VB通讯控件说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.引用
串行通讯组件(MSComm 控件)包含在专业版及企业版中.
MSComm 组件并不是主动出现在工具箱的,当我们需要用到它时,做如下步骤:
1.在工具箱上右键单击,在弹出的对话框中选择"部件..."选项
2.在"控件"标签中,找到"Microsoft Comm Control 6.0"选项,并勾选它,然后按"确定"
3.这时,工具箱中会出现一个"电话机"的图标.已经OK啦.
(我用的是简体中文版的.)
二.属性
常用属性:说明
CommPort:设置通讯端口号(1-16).例:mPort=1 '指定使用COM1作通讯传输.
Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位.
格式为"BBBB,P,D,S".默认值为"9600,N,8,1"
BBBB为联机速度,
P为同位检查方式,None无(默认值),Even偶数,Mark记号,Odd奇数,Space空白.
D为数据位数,4-8.
S为停止位,1,1.5,3.
"9600,N,8,1"的意思是"所使用的通讯端口是以每秒9600 Bit的速度作传输,不作同位的检查,每个元是8个Bit,而停止位是1个Bit"
注:四项的顺序是不可前后对调的,其中的字母N可以是大写,也可以是小写.
HandShaking:设置通讯双方的交握协议,即流量控制.
0-comNone:(默认值)没有交握协议.
1-comXOnXOff:(Xon/Xoff)交握协议.
2-comRTS:RTS/CTS(Request To Send/CLear To Send)交握协议.
3-comRTSXonXoff:Request To Send和Xon/Xoff交握协议.
Output: 将一个字符串写入传输缓冲区.
例:MSComm1.Output="ABCDE",此即将ABCDE 5个字符通过RS232传送出去.
Input: 从对方所传至输入缓冲区的字符读进程序中,并清除缓冲区中已被读取的字符.这是一种FIFO(first in first out)的机制.
例:Buffer$=MSComm1.Input.将输入缓冲区的字符读入Buffer字符串变量中.
InputLen: 指定由串行端口读入的字符串长度.(每次读取input时,读取多少字节)
MSComm1.InputLen=10 '当程序执行Input指令时,只会读取10个字符.假设在输入缓冲区中有
55个字节,则每次Input指令会读取10个字节进来,因此要全部读完所有的数据需要执行6次Input指令.
RThreshold: 接受的字符数.RTHreshold=1----表示当有一个字节到达接收缓冲区时,响应OnComm事件。

RTHreshold=10----表示10个字节到达时才响应OnComm 事件。

SThreshold: 传输中所能允许的最小字符数. 设置Sthreshold 属性为0(缺省值),数据传输事件不会产生OnComm 事件。

若设置Sthreshold 属性为1,当传输缓冲区完全空时,MSComm 控件产生OnComm 事件。

如果在传输缓冲区中的字符数小于value,CommEvent 属性设置为comEvSend,并产生OnComm 事件。

comEvSend 事件仅当字符数与Sthreshold 交叉时被激活一次。

例如,如果Sthreshold 等于5,仅当在输出队列中字符数从 5 降到4 时,comEvSend 才发生。

如果在输出队列中从没有比Sthreshold 多的字符,comEvSend 事件将绝不会发生。

DTREnable:决定是否使Request To Send(RTS)行有效.
PortOpen:设置通讯端口的状态.True(打开)/False(关闭).
三.错误消息
下面列出了MSComm 控件可以捕获的错误:
错误号: 描述
380 无效属性值comInvalidPropertyV alue
383 属性为只读comSetNotSupported
394属性为只读comGetNotSupported
8000 端口打开时操作不合法comPortOpen
8001 超时值必须大于0
8002无效端口号comPortInvalid
8003属性只在运行时有效
8004 属性在运行时为只读
8005端口已经打开comPortAlreadyOpen
8006 设备标识符无效或不支持该标识符
8007 不支持设备的波特率
8008 指定的字节大小无效
8009缺省参数错误
8010硬件不可用(被其它设备锁定)
8011函数不能分配队列
8012 设备没有打开comNoOpen
8013 设备已经打开
8014 不能使用comm 通知
8015 不能设置comm 状态comSetCommStateFailed
8016 不能设置comm 事件屏蔽
8018 仅当端口打开时操作才有效comPortNotOpen
8019 设备忙
8020 读comm 设备错误comReadError
8021 为该端口检索设备控制块时的内部错误comDCBError。

相关文档
最新文档