我创建了一个Activex Dll工程,包含一个类模块sms.cls和一个窗体comm.frm,在sms中有一个函数test,代码如下: Public Function test() As String Dim reco As String If comm.MSComm1.PortOpen = True Then comm.MSComm1.PortOpen = False '先将Comm口关上 comm.MSComm1.PortOpen = True '重新打开 comm.MSComm1.InputLen = 0 comm.MSComm1.InBufferCount = 0 comm.MSComm1.InputMode = comInputModeTex comm.MSComm1.Output = "AT" + Chr(13)'测试是否连接成功,如果成功将返回"OK" 'sleep(2) 'MsgBox comm.MSComm1.Input End Function窗体comm.frm里还有一个MSComm控件MSComm1,在控件MSComm1的OnComm事件里代码如下: MPrivate Sub MSComm1_OnComm()MsgBox "检测到OnComm" Select Case MSComm1.CommEvent Case comEvReceive Dim Buffer As Variant Buffer = MSComm1.Input MsgBox "OnComm_Input" + Buffer Case Else End Select End Sub执行结果是没有任何反应,然后我把 'sleep(2) 'MsgBox comm.MSComm1.Output 这两句中的注释去掉,此时就可以得到MsComm控件返回的值"OK",我不知道为什么OnComm事件捕捉不到相应的事件.请各位高手指点.
是什么意思?我是VB的初学者。希望能给个建议怎样来通过指令集通讯。
另外AT指令集是什么东东?工作原理是什么。谢谢!
If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
pdustring = "0891683108100005F011000D91683119818500F7000800064F60597DFF01"
MSComm1.Output = "AT+CMGF=0" + Chr(13)
MSComm1.Output = "AT+CMGS=21" + Chr(13)
MSComm1.Output = pdustringCSDN的文档中心中有好多文章关于这方面的,自己搜索一下吧
"AT+CMGF=0" + Chr(13)
"AT+CMGS=21" + Chr(13)
是什么意思,能返回什么信息吗?
能否留下您的联系方式?谢谢!
AT+CMGS 发送
Public Function test() As String
Dim reco As String
If comm.MSComm1.PortOpen = True Then comm.MSComm1.PortOpen = False '先将Comm口关上
comm.MSComm1.PortOpen = True '重新打开
comm.MSComm1.InputLen = 0
comm.MSComm1.InBufferCount = 0
comm.MSComm1.InputMode = comInputModeTex
comm.MSComm1.Output = "AT" + Chr(13)'测试是否连接成功,如果成功将返回"OK"
'sleep(2)
'MsgBox comm.MSComm1.Input
End Function窗体comm.frm里还有一个MSComm控件MSComm1,在控件MSComm1的OnComm事件里代码如下:
MPrivate Sub MSComm1_OnComm()MsgBox "检测到OnComm"
Select Case MSComm1.CommEvent
Case comEvReceive
Dim Buffer As Variant
Buffer = MSComm1.Input
MsgBox "OnComm_Input" + Buffer
Case Else
End Select
End Sub执行结果是没有任何反应,然后我把
'sleep(2)
'MsgBox comm.MSComm1.Output
这两句中的注释去掉,此时就可以得到MsComm控件返回的值"OK",我不知道为什么OnComm事件捕捉不到相应的事件.请各位高手指点.