看来我在 SoftwareSerial 和delay
我的 Arduino 上的功能(GeekCreit 在 Banggood 上购买)之间存在冲突。我正在尝试使用 SoftwareSerial 将 AT 命令发送到 ESP-01。
当我执行:
#include <SoftwareSerial.h>;
SoftwareSerial esp8266(8,9);
void setup() {
Serial.begin(9600);
while (!Serial) ;
esp8266.begin(9600);
esp8266.println("AT");
}
void loop() {
if(esp8266.available()) {
while(esp8266.available()) {
Serial.print(esp8266.read());
}
}
}
一切正常,发送了 AT 命令,我收到了 ESP 的响应。
但是当我在发送 AT 命令之前添加延迟时,什么都没有发生:没有发送命令,ESP 没有回答。
#include <SoftwareSerial.h>;
SoftwareSerial esp8266(8,9);
void setup() {
Serial.begin(9600);
while (!Serial) ;
esp8266.begin(9600);
delay(2000);
esp8266.println("AT");
}
void loop() {
if(esp8266.available()) {
while(esp8266.available()) {
Serial.print(esp8266.read());
}
}
}
我做错了什么,有人遇到过同样的问题吗?
我尝试改用 AltSoftSerial,但我遇到了同样的问题。