SIM800L无法发送消息

时间:2019-02-10 04:43:58

标签: arduino

我有一个SIM800L模块。 我已经配置了800L SIM模块,其中将LM2596上的OUT +连接到SIM800L上的VCC,并将LM2596上的OUT-连接到SIM800L上的GND。除此之外,我将TX SIM800L连接到Arduino的引脚2,将RX SIM800L连接到Arduino的引脚3 然后,将源代码上传到arduino mega 2560板上后,SIM800L模块每3秒闪烁3次,有时也每3秒闪烁7次。等等。 到目前为止,我的SIM800L模块无法发送消息。问题出在哪里?谢谢,请回答

1 个答案:

答案 0 :(得分:0)

首先,您必须仔细检查调制解调器是否正确连接并具有足够的电源。为确保始终在启动时尝试读取调制解调器的输出序列并对其进行调用。 如果调制解调器正确启动,它应该在串行输出中打印一些数据(使用默认设置),其中一些打印电源问题。

您可以使用以下示例在主机PC和调制解调器之间创建双向通信。在这里,我使用的是Serial1,其针脚为18、19。 如果我没记错的话,闪烁应该是每3秒钟一次,并且如果它改变了,则意味着调制解调器正在重新启动。 之后,您可以通过主机PC发送AT命令并检查其功能。

#include <SoftwareSerial.h>

#define serialSIM800 Serial1


void setup()
{
    //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
    Serial.begin(9600);
    //wait on host serial
    while (!Serial);
    //Being serial communication with Arduino and SIM800
    // you should double check the default baudrate of SIM800 and set it here
    serialSIM800.begin(9600);
    delay(1000);
    Serial.println(“Setup Complete !”);
}

void loop()
{
    //Read SIM800 output (if available) and print it in Arduino IDE Serial Monitor
    if (serialSIM800.available())
    {
        Serial.write(serialSIM800.read());
    }
    //Read Arduino IDE Serial Monitor inputs (if available) and send them to SIM800
    if (Serial.available())
    {
        serialSIM800.write(Serial.read());
    }
}