串行速度变化后无法连接到ESP8266

时间:2015-11-20 22:28:49

标签: arduino at-command baud-rate esp8266

经过一些反复试验,今晚我的 Arduino Uno 开始与 ESP8266模块进行对话,其中最常见的接线方式是从模块向模块提供3.3V电源大小的外部电源,3.3V TX线的直接连接,以及从5V RX读取的分压器。

SoftwareSerial esp8266(2,3);

void setup()
{
    Serial.begin(9600);
    esp8266.begin(115200);

    char buffer[50];
    esp8266.write("AT\r\n");
    esp8266.readBytes(buffer, sizeof(buffer));
    Serial.println(buffer);

}

为ESP8266< - > Arduino串行通信设置 115200速度后,串口监视器上出现了一些清除启动消息和命令响应

Arduino serial monitor showing communication to the ESP8266 module

由于这些消息被一些垃圾字符交错,我尝试降低通信速度。 为此目的我向模块发出命令AT+IPR=9600 ,它立即显示蓝色LED上的一些操作,控制台上的OK响应,最终导致相同的LED被固定。

因此使用esp8266.begin(9600);调整了Arduino端的串行速度,但无法与模块进行任何进一步的通信。 我现在只能以任何速度看到垃圾。

模块可以升级到不同的速度吗?我尝试了很多(4800,57600,19200,回到115200等),但显示器上没有明显的响应。

您是否可以建议重新建立连接?有没有办法重置上一个命令结果? 如果可以尝试任何更简单的解决方案,我宁愿避免设置固件更新。

1 个答案:

答案 0 :(得分:6)

这是解决方案!

已知AT+IPR命令会破坏固件并使模块无响应直到完全重新刷新。

我在forum discussion找到了解决方案。