我正在开发一个使用GSM调制解调器的VB6应用程序。目前我使用的是Wavecome Fastrack M1306B GSM调制解调器。我收到+CME ERROR: 4
错误消息。
以下是我目前的代码。
VB6代码:
MSComm1.Output = "AT+CMEE=1" & vbCrLf
Delay (1)
MSComm1.Output = "AT+WIND=15" & vbCrLf
Delay (1)
MSComm1.Output = "AT+CPAS" & vbCrLf
Delay (1)
MSComm1.Output = "AT+STSF?" & vbCrLf
Delay (1)
MSComm1.Output = "AT+STSF=1" & vbCrLf
Delay (1)
MSComm1.Output = "AT+STGI=0" & vbCrLf
Delay (1)
MSComm1.Output = "AT+STGR=0,1,128" & vbCrLf
Delay (1)
MSComm1.Output = "AT+STGI=6" & vbCrLf
Delay (1)
MSComm1.Output = "AT+STGR=6,1,7" & vbCrLf
Delay (1)
MSComm1.Output = "AT+STGI=6" & vbCrLf
Delay (1)
MSComm1.Output = "AT+STGR=6,1,0" & vbCrLf
Delay (1)
MSComm1.Output = "AT+STGI=3" & vbCrLf
Delay (1)
MSComm1.Output = "AT+STGR=3,1" & vbCrLf
Delay (1)
MSComm1.Output = 1212 & Chr(26) & vbCrLf
Delay (1)
MSComm1.Output = "AT+STGR=1,1" & vbCrLf
输出:
AT+CSQ
+CSQ: 29,0
OK
AT+CSCS="GSM"
OK
AT+COPS?
+COPS: 0,2,47004
OK
AT+CMEE=1
OK
AT+WIND=15
OK
AT+CPAS
+CPAS: 0
OK
AT+STSF?
+STSF: 1,"5FFFFFFF7F",3,0
OK
AT+STSF=1
OK
AT+STGI=0
+STGI: "Teletalk STK"
+STGI: 128,3,"Tele Charge",0
+STGI: 129,3,"Teletalk 3G World",0
+STGI: 130,3,"General Services",0
OK
AT+STGR=0,1,128
OK
+STIN: 6
AT+STGI=6
+STGI: 0,"Tele Charge"
+STGI: 1,10,"Recharge",0
+STGI: 2,10,"Transfer",0
+STGI: 3,10,"Last Recharge",0
+STGI: 4,10,"Last Transfer",0
+STGI: 5,10,"Change PIN",0
+STGI: 6,10,"Send PIN",0
+STGI: 7,10,"Stock Balance",0
+STGI: 8,10,"Suspend",0
+STGI: 9,10,"Activate",0
+STGI: 10,10,"Help Line",0
OK
AT+STGR=6,1,7
OK
+STIN: 6
AT+STGI=6
+STGI: 0,"Stock Balance"
+STGI: 1,2,"Own Account",0
+STGI: 2,2,"Down Stream Account",0
OK
AT+STGR=6,1,0
OK
+STIN: 3
AT+STGI=3
+STGI: 0,1,4,4,0,"Please Enter PIN (4 digit)"
OK
AT+STGR=3,1
> 1212
+CME ERROR: 4
答案 0 :(得分:1)
本声明:
MSComm1.Output = 1212& Chr(26)& vbCrLf
想要分配(隐含)字符串" 1212"输出,后跟控制字符ANSI 26。
您的调制解调器不喜欢这样,并回复显示的错误(不支持操作)。以下是所有相关的错误代码:http://www.micromedia-int.com/en/gsm-2/73-gsm/669-cme-error-gsm-equipment-related-errors
不确定为什么要给调制解调器控制字符。不知何故,它看起来像一个复制/粘贴错误,请注释,如果您的调制解调器确实需要这个。尝试以这种方式提供您的PIN:
MSComm1.Output =" 1212" &安培; vbCrLf