below each case statement Errors Case comEventBreak A Break was received. Case comEventCDTO CD (RLSD) Timeout. Case comEventCTSTO CTS Timeout. Case comEventDSRTO DSR Timeout. Case comEventFrame Framing Error Case comEventOverrun Data Lost. Case comEventRxOver Receive buffer overflow. Case comEventRxParity Parity Error. Case comEventTxFull Transmit buffer full. Case comEventDCB Unexpected error retrieving DCB] Events Case comEvCD Change in the CD line. Case comEvCTS Change in the CTS line. Case comEvDSR Change in the DSR line. Case comEvRing Change in the Ring Indicator. Case comEvReceive Received RThreshold # of chars. Case comEvSend There are SThreshold number of characters in the transmit buffer. Case comEvEof An EOF charater was found in the input stream End Select End Sub OutBufferCount 属性 返回在发送缓冲区中等待的字符数。你可以使用该属性清除发送缓冲区。 该属性在设计时不可用。 应用于 MSComm控件。 语法 object.OutBufferCount [=value] OutBufferCount属性的语法有如下几个部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象 value 一个整数表达式,指定发送缓冲区中等待的字符数 说明 将OutBufferCount属性置为0将清除发送缓冲区。 注意:不要将OutBufferCount属性与OutBufferSize属性混淆起来。 数据类型 IntegerOutBufferSize 属性 返回或设置发送缓冲区的字节大小。 应用于 MSComm控件。 语法 object.OutBufferSize [=value] OutBufferSize属性的语法有如下几个部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象 value 一个整数表达式,指定发送缓冲区的字节大小 说明 OutBufferSize 指整个发送缓冲区的大小。缺省值是512 字节。不要将该属性与OutBufferCount 属性混淆起来 OutBufferCount 属性反映的是发送缓冲区当前等待的字节数。 注意:对发送缓冲区设置的越大,应用程序可以使用的内存就越少。 然而,如果你的发送缓冲区太小,缓冲区将会溢出,除非使用握手协议。 通常,将缓冲区设置为512 字节。如果发生了溢出,就增大该缓冲区, 以满足你的应用程序传输速率。 数据类型 Integer Output属性 将数据写入发送缓冲区。该属性在设计时不可用,在运行时是只写的。 应用于 MSComm控件。 语法 object.Output [=value] Output属性的语法有如下几个部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象 value 一个字符串,是写入发送缓冲区中的字符 说明 Output 属性可以发送文本数据或二进制数据。要使用Output 属性发送文本 数据,你必须指明包含字符串的一个Variant 变量。要发送二进制数据,必须将 包含字节矩阵的Variant变量传递给Output属性。 通常,如果你给应用程序发送ANSI 字符串,可以文本方式发送。如果数 据包含了内嵌控制字符、Null字符等,必须将其作为二进制传递过去。 数据类型 Variant 示例 下面的例子演示了如何将用户输入的字符发送给串口。 Private Sub Form_KeyPress (KeyAscii As Integer) Dim Buffer as Variant Set and open port MSComm1.CommPort = 1 MSComm1.PortOpen = True Buffer = Chr$(KeyAscii) MSComm1.Output = Buffer End Sub ParityReplace 属性 设置或返回一个字符,该字符在方式了奇偶校验错误时将替换数据流中的无效字符。 应用于 MSComm控件。 语法 object.ParityReplace [=value] ParityReplace属性的语法有如下几个部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象 value 字符串表达式,表示替换字符,如“说明”中所示 说明 parity bit 是一个比特位,与指定的数据比特一起传送,可以提供一定的错误检测功能。 当你使用奇偶校验位时,MSComm 控件将数据中所有设置(即“1”)的比特位相加,来检测结果的奇偶性(根 据端口的奇偶设置)。 缺省地,控件使用问号(“?”)替换无效字符。将ParityReplace 属性设置为空字符串("")将在奇偶校验 错误时不替换无效字符,但仍将CommEvent属性设置为commEventRXParity并触发OnComm事件。 ParityReplace 字符是面向字节的操作,必须是单字节字符。你可以指定任意的0到255的ANSI字符作为替换字 符。 数据类型 String PortOpen属性 设置或返回通信端口的状态(打开或关闭)。在设计时该属性不可用。 应用于 MSComm控件。 语法 object.PortOpen [=value] PortOpen属性的语法有如下几个部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象 value 一个布尔表达式,指定通信端口的状态 说明 将PortOpen 属性设置为True 将打开端口。设置为False 将关闭端口并清除接收和发送缓冲区。当你的应用程 序终止时,MSComm控件将自动关闭串口。 在打开端口前,确定CommPort 属性设置为正确的端口号。如果CommPort属性设置为无效的端口号,在你试图打 开端口时,MSComm 控件将产生error 68(Device unavailable)错误。 而且,你的串口设备必须支持Settings 属性中的设置。如果你的硬件设备不支持Settings属性中的一些设置, 则你的硬件工作或许不正确。 如果端口在打开之前将DTREnable 或RTSEnable 属性设置为True,则当端口关闭时这些属性就自动设置为False 。另外,DTR 和RTS 线保持它们原来的状态。 数据类型 Boolean 示例 下面的例子打开端口1,波特率是9600,没有奇偶校验,8 个数据位,一个停止位。 MSComm1.Settings = "9600 n 81" MSComm1.CommPort = 1 MSComm1.PortOpen =True RThreshold属性 设置或返回在MSComm 控件将CommEvent 属性设置为comEvReceive 并在产生OnComm事件之前所接收的字符数。 应用于MSComm控件。 语法 object.Rthreshold [=value] RThreshold属性的语法有如下几个部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象 value 一个整数表达式,指定产生OnComm事件之前接收的字符数 说明 将RThreshold属性设置为0(缺省)将在接收字符时不产生OnComm事件。 例如,将RThreshold 属性设置为1 将导致MSComm 控件在每个字符放入缓冲区时就触发OnComm事件。 数据类型 Integer RTSEnable 属性 确定是否使用RTS(Request To Send)线。通常RTS信号是计算机发送该连接的调制解调器,请求准许发送数据 。应用于MSComm控件。 语法 object. RTSEnable [=value] RTSEnable属性的语法有如下几个部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象 value 一个布尔表达式,指定是否使用RTS线,如“设置”中所示 设置 value 值的设置如下: 设置描述 True 使用RTS线 False (缺省)不使用RTS线 说明 当RTSEnable 属性设置为True 时,打开端口将把RTS 线置为高,关闭端口将把RTS线置为低。 在RTS/CTS 握手协议中使用RTS 线。如果你需要确定RTS 线的状态,RTSEnable属性允许你手工检测该线。 想了解有关握手协议中的更多信息,请参阅HardShaking属性。 数据类型 Boolean Settings属性 设置或返回波特率、奇偶校验、数据位和停止位参数。 应用于MSComm控件。 语法 object.Settings [=value] Settings 属性的语法有如下几个部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象 value 一个字符串表达式,代表通信端口设置,如下所示 说明 当端口打开时value 值设置不正确,MSComm 控件就产生error 380(Invalidproperty value)错误。 value 由4部分组成,格式如下: “BBBB P D S” BBBB 是波特率,P 是奇偶校验,D 是数据位,S 是停止位。Value 的缺省值如下: " 9600 N 8 1" 下表列出了有效的波特率: 设置 110 300 600 1200 2400 9600(缺省) 14400 19200 28800 38400(保留) 56000(保留) 128000(保留) 256000(保留) 下表列出了有效的奇偶校验值: 设置描述 E 偶校验 M 屏蔽 N (缺省)None O 奇校验 S 空格 下表列出了有效的数据位: 设置 4 5 6 7 8(缺省) 下表列出了有效的停止位: 设置 1(缺省) 1.5 2 数据类型 String 示例 下面的例子将端口设置为波特率9600,没有奇偶校验,8 个数据位,一个停止位。 MSComm1.Settings = "9600 N 8 1" SThreshold属性 设置或返回在MSComm控件将CommEvent 属性设置为comEvSend 并产生OnComm事件之前所发送缓冲区中允许的最 少字符数。 应用于 MSComm控件。 语法 object.Sthreshold [=value] SThreshold属性的语法有如下几个部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象 value 一个整数表达式,指定产生OnComm 事件之前发送缓冲区中的最少字符数 说明 将SThreshold属性设置为0(缺省)将在发送字符时不产生OnComm事件。 例如,将SThreshold属性设置为1将导致发送缓冲区完全变空。 如果发送缓冲区中的字符比value 值小,则将CommEvent 属性设置为 comEvSend,并产生OnComm 事件。comEvSend 事件只产生一次,在字符数低于SThreshold 时。例如,如果 SThreshold 等于5,当字符数从5 降低到4 时产生一次comEvSend事件。如果输出队列中的字符数总不多于 SThreshold属性值, 则永不产生该事件。 数据类型 Integer |