使用Visual Basic开发通讯软件(二)

发表于:2007-06-21来源:作者:点击数: 标签:
下一页 1 2 3 4 1.串口初始化、设置程序 在程序初始化时,先对串口初始化。因为使用rts/cts握手信号的硬件设备只有rts信号置为高才能接收数据,所以需将mscomm通信控件的rtsenable属性设为true。 由于modem在处于命令状态时,通过串口发送的命令以及命令结

下一页 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


原文转自:http://www.ltesting.net