下一页 1 2 3 4
1.串口初始化、设置程序
在程序初始化时,先对串口初始化。因为使用rts/cts握手信号的硬件设备只有rts信号置为高才能接收数据,所以需将mscomm通信控件的rtsenable属性设为true。
由于modem在处于命令状态时,通过串口发送的命令以及命令结果均会回显在输入缓冲区中,因此在进入在线状态前,禁止产生ev-receive事件,避免数据误处理。
由于windows是多任务系统,在进行数据收发循环处理时,应调用doevents事件,将控制权交还系统,允许windows执行其他任务。但应注意,在处理oncomm事件时小心使用doevents,避免系统又产生oncomm事件,造成嵌套,出现堆栈溢出错误。
sub form-load()
comm1.commportκ1′com1口通信
comm1.settingsκ″9600,n,8,1″′波特率9600,无校验,8位数据位1位停止位
comm1.outbuffersizeκoutpack′设置输出缓冲区大小
comm1.inbuffersizeκinpack′设置输入缓冲区大小
comm1.inputlenκ1′每次从输入缓冲区中取一个字符
comm1.rtsenableκ-1′rts信号为高
comm1.rthresholdκ0′不产生mscomm-ev-receive事件
comm1.portopenκ-1′打开串口
cdκcomm1.cdholding′取载波检测信号线原始状态
comm1.outputκ″atqov1wosoκ1&c1&d2&yowo″′初始化modem
do doeventsloopuntilcomm1.outbuffercountκ0
end sub