我正试着让我的SIM800C和我的阿迪诺谈谈。不过,没有任何交流发生。
#include <SoftwareSerial.h>
SoftwareSerial at(2, 3);
void setup() {
Serial.begin(9600);
at.begin(9600);
}
void loop() {
// try every 2 seconds
delay(2000);
Serial.println("sending AT ... ");
at.println("AT");
while (at.available() > 0) {
Serial.write(at.read());
}
}我无法拿回一个OK。SIM800C是用来自动检测波特率的。

我相信一定有一个简单的愚蠢的错误。我只是不知道现在该怎么办。显然我已经检查过电缆中断了。出于绝望,我已经试图改变RX和TX。我还尝试了不同的波特率(在SoftwareSerial通常的限制范围内),但是一旦有几个AT命令进入,它就会自动检测它。
发布于 2019-07-14 10:48:08
奇怪的是,SIM800C上的引脚SIM800C需要连接到GND才能工作。它现在开始每秒钟闪烁一次,并响应AT命令。
而且,正如SIM800C文档所述,这个特定模块没有启用自动生成。正确的波特率是115200。
发布于 2019-07-13 15:10:56
有一些问题您需要考虑:
SoftwareSerial at(2, 3);一样,这意味着pin 2是Arduino上的Rx,并且应该连接到SIM的Tx引脚和Arduino上的Tx,并且应该连接到SIM的Rx引脚。请不要把引脚弄乱,并按下面的方式正确连接。Arduino SIM Rx 2
SIM READY,CALL READY等。115200,看看你是否有任何权力。我放了一些宏定义,以使引脚映射更加清晰。
#include <SoftwareSerial.h>
//SIM800 TX is connected to Arduino D2
#define SIM800_TX_PIN 2
//SIM800 RX is connected to Arduino D3
#define SIM800_RX_PIN 3
//Create software serial object to communicate with SIM800
SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);
void setup() {
//Begin serial comunication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
while(!Serial);
//Being serial communication witj Arduino and SIM800
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());
}
}发布于 2019-12-15 19:36:35
是的,此模块将无法在此配置中工作。有一个5V引脚的V_TTL引脚。此引脚启用您的GSM的TTL逻辑转换器。在arduino的情况下,您必须将这个引脚连接到5V,如果是ESP8266.参见这里的引脚配置,则连接到3V。
https://stackoverflow.com/questions/57019758
复制相似问题