MSDN上有相关的串口通讯的例子,主要是在串口的OnComm事件处理上比较麻烦,关于与modem的接口,应遵循标准的AT命令格式,从串口输出,再通过远程校验捕获返回信息,这些可以试试Windows自带的会话程序。

解决方案 »

  1.   

    谢谢,我现在脑袋都是痛得,,怎天都在琢磨MSCOMM方面的东西,但是还是一头雾水,再次请教各位前辈。。(非常希望能给我提供一些资料,或者这方面的源码。。))
      

  2.   

    哈哈!我来也!
    我记得MODEN连接好了可以接受串口的信号,比如,你发送AT,应该返回OK,有的时候则返回AT,说明是连上了的我写了个函数是用来完成上述功能的剩下的嘛?得自己研究啦! 
    Function ModenSeach(com As Integer, Default As String) As String 
    Dim a As String 
    On Error GoTo aa: 
    MSComm.CommPort = com 
    MSComm.InputMode = comInputModeBinary 
    MSComm.Settings = "9600,n,8,1" 
    If MSComm.PortOpen = True Then 
    MSComm.PortOpen = False 
    End If 
    MSComm.DTREnable = True 
    MSComm.EOFEnable = True 
    MSComm.RTSEnable = True 
    MSComm.PortOpen = True 
    MSComm.Output = "at" 
    a = EcrReadOne(2): a = LCase(a) 
    If InStr(a, "at") <> 0 Or InStr(a, "ok") <> 0 Then 
    ModenSeach = "Moden" 
    Else 
    ModenSeach = Default 
    End If 
    Exit Function 
    aa: 
    ModenSeach = Default 
    'EndTransmit 
    End Function Function EcrReadOne(number As Integer) As String 
    Dim out() As Byte, i As Integer, data As String data = "": i = 1 
    Do 
    DoEvents: i = i + 1 
    Debug.Print MSComm.InBufferCount 
    Loop Until (MSComm.InBufferCount >= number Or i >= 800) 
    If i >= 800 Then 
    EcrReadOne = "" 
    Exit Function 
    End If 
    out() = MSComm.Input 
    For i = 1 To number 
    data = data + Chr(out(i)) 
    Next 
    EcrReadOne = Trim(data) 
    End Function 
      

  3.   

    资料吗.你需要的是AT命令集,控件手册,
    自动作接收和发送好像只能是mscomm1.oncomm了,检测CDTO就是了!
      

  4.   

    谢谢,,控件手册与AT命令集(我有一本MODEM的说明书上带的有)我都有。。我还没有试过上面的例子,等我下去慢慢去学再次得谢谢大家。。