4.根据设置的at命令“&d2”,当置dtr信号为低时,modem挂机进入命令状态。也可通过串口输出““+++ath”+chr$(13)”字符串挂机。
sub hang-click()
if comm1.cdholdingΙΛcdthen′检测cd,判断是否挂机
comm1.dtrenableΚ0
comm1.dtrenableΚ-1′置dtr信号为高,为下一次通信准备
end if
end sub
5.退出程序时,一定要关闭串口
sub exitcomm()
comm1.portopenΚfalse
end
end sub
四、windows通信机制和vb3.0通信控件潜在缺陷
在通信软件编制过程中,我们发现windows下通信机制采用的“事件驱动”在实际运行中不稳定。如在文件传输过程中,误码和数据丢失的情况时有发生;若串口波特率过高,会产生无法通信或在通信过程中随机挂机的情况。这主要是由于windows本身通信机制和通信线路介质及质量的影响。为保证数据传输稳定可靠,可采用通信协议如xmodem-crc或ymodem。在mscomm.vbx通信控件中,rthreshold属性值大小与输入缓冲区inbuffersize大小有关,当rthreshold值较接近inbuffersize值时,有可能不产生ev-receive事件,为保证产生该事件,可将inbuffersize值取得较大