Arduino 串行速度更改后无法连接到ESP8266
经过一些尝试和错误,今晚我的Arduino Uno开始与一个ESP8266模块交谈,该模块采用最常见的接线,从一个尺寸合适的外部电源向模块提供3.3V电源,直接连接3.3V TX线,并使用分压器读取5V RXArduino 串行速度更改后无法连接到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")
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
命令会破坏固件,使模块无响应,直到完全刷新
我从中找到了解决方案。请将代码作为(格式化)文本包含在问题中,而不仅仅是屏幕截图。已将相关代码作为文本包含。提供屏幕截图是为了查看响应中交错的垃圾(右侧)。请在问题中以(格式化)文本的形式包含代码,而不仅仅是屏幕截图。已将相关代码作为文本包含。提供屏幕截图是为了查看响应中交错的垃圾(右侧)。