经过一些反复试验,今晚我的 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,回到115200等),但显示器上没有明显的响应。
您是否可以建议重新建立连接?有没有办法重置上一个命令结果? 如果可以尝试任何更简单的解决方案,我宁愿避免设置固件更新。