MSDN上有相关的串口通讯的例子,主要是在串口的OnComm事件处理上比较麻烦,关于与modem的接口,应遵循标准的AT命令格式,从串口输出,再通过远程校验捕获返回信息,这些可以试试Windows自带的会话程序。
解决方案 »
- 数据库取值显示效率问题,在线等..............(我运行一次要花近两分钟)惨!!!!
- !!!求助(grid属性)
- 300分寻求解答和解决方案,分不够重开号给分.
- 我的问题???(如何)
- vb 中 16CRC校验如何实现?
- 急急急!!!高手进,帮帮忙啊!!
- form的borderstyle=0的时候,如何实现拖动窗体?
- 我不知道一个Msflexgrid有多少个ROW 我怎么删除所有的ROW?????
- 我是一个vb初学者,请问大虾想达到vb中等水平一般周期多久?Vb的未来前景如何?谢谢。
- MDI子窗口相对父窗体初始化位置老是在变
- vb6中的listbox有没有ItemData属性?
- "亟"--这个字是怎么读?
我记得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
自动作接收和发送好像只能是mscomm1.oncomm了,检测CDTO就是了!