冲区的字符多于设置的值时,则触发 OnComm 事件,并把 CommEvent 设为 MSCOMM
—EV—RECEIVE,当 RThreshold = 0 则禁止接收触发 OnComm 事件,当 RThreshold
= 1 则接收缓冲区有一个或更多字符时就触发 OnComm 事件。利用这一属性,就可完成
对串口接收数据的处理。
2. 利用通信控件的实例
Sub Form1 —load ()
form1. show
′设置 COM1
comm1. commport = 1
comm1. Setting = " 9600 ,o ,8 ,1" ′波特率:9600 奇校验,8 位数据,1 位停止位
comm1. Inputlen = 0 ′读取接收缓冲区的所有字符
comm1. OutBufferSize = 512 ′设置发送缓冲区为 512 字节
comm1. InBufferSize = 512 ′设置接收缓冲区为 512 字节
comm1. SThreshold = 0 ′禁止发送事件
comm1. RThreshold = 1 ′每一个字符到接收缓冲区都触发接收事件
′设置 COM2
comm2. commport = 2
comm2. Setting = "2400 ,e ,8 ,1"
′波特率:2400 偶验,8 位数据,1 位停止位
comm2. Inputlen = 0 ′读取接收缓冲区的所有字符
comm2. OutBufferSize = 512 ′设置发送缓冲区为 512 字节
comm2. InBufferSize = 512 ′设置接收缓冲区为 512 字节
comm2. SThreshold = 1 ′发送缓冲区空触发发送事件
comm2. RThreshold = 0 ′禁止接收事件
′打开 COM1 ,COM2
comm1. Portopen = True
comm2. Portopen = True
Timer1. interval = 5000
End Sub
Sub Comm1 —OnComm()
Dim Inbuff as string
Dim i as integer ,n as integer ,t as integer
Select Case Comm1. CommEven
case MSCOMM—EV—RECEIVE
Inbuff = Comm1. Input
n = len ( Inbuff)