VB串口编程的一些疑问
最近想写一个简单的串口通信程序,主要功能是从一台MODEM拨号到另一台MODEM,并能相互进行数据传输。现在已经基本实现了两台MODEM的拨号与应答,即两台PC能通过这两台MODEM之间建立的链接进行简单的文本传递,但现在有一个问题就是:当两台MODEM进入了“数据传输“状态后怎么让它返回到指令模式?
查了很多资料,好像都是说要用发送“+++”(不带回车)来实现,但我在具体实施过程中却不能达到相应功能。希望了解串口编程的指点一下,问题出在哪里,谢谢!
我试验用的MODEM是两台 TM-EC5658V ,我现在有点怀疑会不会是我的MODEM不支持这个指令。
我的做法如下:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) '定时器,在这用作延时处理
···
Private Sub Command2_Click()
'串口先空闲两秒
Debug.Print Now
DoEvents
Sleep (2000) '有人说2秒有人说1秒,我两个都试过了却都不行!
Debug.Print Now
MSComm1.Output = "+++"
'串口再空闲两秒
DoEvents
Sleep (2000)
Debug.Print Now
End Sub