无法使用arduino uno的AT命令发送短信

时间:2019-03-11 22:14:26

标签: arduino arduino-uno gsm

#include <SoftwareSerial.h>

SoftwareSerial mySerial(0, 1);

void setup()

{

  mySerial.begin(9600);   // Setting the baud rate of GSM Module 

  Serial.begin(9600);    // Setting the baud rate of Serial Monitor (Arduino)

  delay(100);

}

void loop()

{

  if (Serial.available()>0)

      SendMessage();

 if (mySerial.available()>0)

   Serial.write(mySerial.read());

}

 void SendMessage()


{

  mySerial.println("AT+CMGF=1");    //Sets the GSM Module in Text Mode

  delay(1000);  // Delay of 1000 milli seconds or 1 second

  mySerial.println("AT+CMGS=\"+1876xxxxxxx\"\r"); // Replace x with mobile number

  delay(1000);

  mySerial.println("I am SMS from GSM Module");// The SMS text you want to send

  delay(100);

  mySerial.println((char)26);// ASCII code of CTRL+Z

  delay(1000);

}

我正在尝试通过arduino平台使用SIM 800 RPI GSM ADD-on v2.3模块发送短信,但是我尝试的所有操作均失败。请协助并解释我要去哪里。谢谢。我的代码在上面。谢谢

1 个答案:

答案 0 :(得分:0)

您在"AT+CMGF=1"中缺少回车符。

"AT+CMGF=1"更改为"AT+CMGF=1\r"

尽管在命令执行之间存在延迟,并且可以达到目的,但不建议这样做。 最好捕获并分析SIM800返回的消息,尤其是在发生错误的情况下。