2015-04-17 5 views
0

У меня есть этот код arduino. GSM-экран подключается, и ussd также отправляется, но я не получаю ответа (что-то вроде «ok»). Короткий код ussd является допустимым. Что мне здесь не хватает? Или есть ошибка в моем коде? (Equipement: Arduino Uno, GSM shiled)Arduino GSM USSD AT-Command ответ пуст

Оцените любое понимание по этому вопросу. Спасибо

#include <GSM.h> 
#include <GSM3ShieldV1DirectModemProvider.h> 

// initialize the library instance 
GSM gsmAccess; 

GSM3ShieldV1DirectModemProvider modemAccess; 


// PIN Number 
#define PINNUMBER "" 


void setup() { 
    Serial.begin(9600); 
    // initialize the digital pin as an output. 
    Serial.println("GSM networks scanner"); 

    connectGSM(); 

    String At_COMMAND = "AT+CUSD=1,\"*#456#\""; 
    Serial.println("Sending At command"); 
    String reply = modemAccess.writeModemCommand(At_COMMAND,15); 
    Serial.println("Sent"); 
    Serial.println(reply); 
    Serial.println("Sent"); 
} 

void connectGSM(){ 
    boolean notConnected=true; 
    Serial.println("Connecting..."); 
    while(notConnected){ 
    if(gsmAccess.begin(PINNUMBER) == GSM_READY) 
     notConnected = false; 
    else delay(1000); 
    } 
    Serial.println("Connected to GSM"); 
} 

Выход

GSM networks scanner 
Connecting... 
Connected to GSM 
Sending At command 
Sent 

Sent 
+0

Причина заключалась в том, что в отличие от SMS, в НДДО мы должны иметь собственные функции для получения и декодирования входящий ответ ussd от сети. –

ответ

0

Попробуйте увеличить время до 1000 мс вместо 15 мс

Смежные вопросы