Arduino 串行速度更改后无法连接到ESP8266

Arduino 串行速度更改后无法连接到ESP8266,arduino,at-command,baud-rate,esp8266,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")

经过一些尝试和错误,今晚我的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);

}
为ESP8266Arduino串行通信设置115200速度后,串行监视器上出现一些清除引导消息和命令响应

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

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

模块是否会升级到其他速度?我试了很多(48005760019200,回到115200等等),但是显示器上没有清晰的反应

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

以下是解决方案

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

我在这里找到了解决办法。

这是解决办法

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


我从中找到了解决方案。

请将代码作为(格式化)文本包含在问题中,而不仅仅是屏幕截图。已将相关代码作为文本包含。提供屏幕截图是为了查看响应中交错的垃圾(右侧)。请在问题中以(格式化)文本的形式包含代码,而不仅仅是屏幕截图。已将相关代码作为文本包含。提供屏幕截图是为了查看响应中交错的垃圾(右侧)。