2016-10-01 6 views
2

Я разрабатываю приложение VB6 для использования GSM-модема. В настоящее время я использую модем Wavecome Fastrack M1306B GSM. Я получаю сообщение об ошибке +CME ERROR: 4.Visual basic 6, gsm modem error "+ 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 

ответ

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