Arduino响应USSD命令被截断
我正试图用Arduino/SIM900模块发送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=
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,响应槽形