串口变速后无法连接ESP8266
Cannot connect to ESP8266 after serial speed change
经过反复试验,今晚我的 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速度后,一些清晰的启动消息和命令响应出现在串行监视器。
由于这些消息被一些垃圾字符交错,我尝试降低通信速度。
为此 我向模块 发出命令 AT+IPR=9600
,它立即在蓝色 LED 上显示一些动作,在控制台上显示 OK 响应,最后导致相同的 LED 亮起已修复。
我随后用esp8266.begin(9600);
调整了Arduino端的串口速度,但再也无法与模块进行任何进一步的通信。
我现在在任何速度下都只能看到垃圾。
模块是否升级到不同的速度?我试了很多(4800, 57600, 19200, back to 115200 etc.)但是显示器上没有出现明确的反应。
您能否建议尝试重新建立连接?有什么方法可以重置最后的命令结果?
如果可以尝试任何更简单的解决方案,我宁愿避免设置固件更新。
解决方法在这里!
已知 AT+IPR
命令会破坏固件并使模块在完全刷新之前无响应。
我在这个 forum discussion 中找到了解决方案。
经过反复试验,今晚我的 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速度后,一些清晰的启动消息和命令响应出现在串行监视器。
由于这些消息被一些垃圾字符交错,我尝试降低通信速度。
为此 我向模块 发出命令 AT+IPR=9600
,它立即在蓝色 LED 上显示一些动作,在控制台上显示 OK 响应,最后导致相同的 LED 亮起已修复。
我随后用esp8266.begin(9600);
调整了Arduino端的串口速度,但再也无法与模块进行任何进一步的通信。
我现在在任何速度下都只能看到垃圾。
模块是否升级到不同的速度?我试了很多(4800, 57600, 19200, back to 115200 etc.)但是显示器上没有出现明确的反应。
您能否建议尝试重新建立连接?有什么方法可以重置最后的命令结果? 如果可以尝试任何更简单的解决方案,我宁愿避免设置固件更新。
解决方法在这里!
已知 AT+IPR
命令会破坏固件并使模块在完全刷新之前无响应。
我在这个 forum discussion 中找到了解决方案。