Arduino响应USSD命令被截断

Arduino响应USSD命令被截断,arduino,gsm,ussd,sim900,Arduino,Gsm,Ussd,Sim900,我正试图用Arduino/SIM900模块发送USSD字符串。 这是我的代码: mySerial.println("AT+CMGF=0"); delay(100); mySerial.println("AT+CUSD=1,\"*123#\""); delay(10000); if (mySerial.available() >0) { while(mySerial.available() > 0) { incoming_char=

我正试图用Arduino/SIM900模块发送USSD字符串。 这是我的代码:

mySerial.println("AT+CMGF=0");
   delay(100);

   mySerial.println("AT+CUSD=1,\"*123#\"");
   delay(10000);
if (mySerial.available() >0)
  {

    while(mySerial.available() > 0)
    {
      incoming_char=mySerial.read(); //Get the character from the cellular serial port.

      Serial.print(incoming_char);

    }
 }
问题是,响应被截断了。 如果我试图删除该行

mySerial.println("AT+CMGF=0");
响应较长,但总是被截断

如何解决这个问题


非常感谢

尝试使用
mySerial.println(“AT+CMGF=1”)AT+CMGF=1时,我收到OK,但没有USSD字符串:这是我在+CMGF=1 AT+CUSD=1时的回答,“*123#”OKis
*123#
是有效的命令吗?当您将
设置为+CMGF=0时,会有什么样的响应?如果您将调制解调器连接到串行终端,并手动从pc传递命令,然后查看结果是什么是*123#有效(sim卡积分)。使用“AT+CMGF=0”时,我收到:AT+CMGF=0 AT+CUSD=1,“*123#”如果我删除CMGF行,我收到响应,但它是槽形的:AT+CUSD=1,“*123#”OK+CUSD:0,“响应槽形的尝试使用
mySerial.println(“AT+CMGF=1”);
使用AT+CMGF=1时,我收到OK但没有USSD字符串:这是我在+CMGF=1 AT+CUSD=1时的答案,”*123#“OK
*123#
是有效的命令吗?当您将
设置为+CMGF=0时,会有什么样的响应?如果您将调制解调器连接到串行终端,并手动从pc传递命令,然后查看结果是什么是*123#有效(sim卡积分)。使用“AT+CMGF=0”时,我收到:AT+CMGF=0 AT+CUSD=1,“*123#”如果我删除CMGF行,我会收到响应,但它是槽形的:AT+CUSD=1,“*123#”OK+CUSD:0,响应槽形