我将我的 ESP8266 连接到了 Arduino Mega。连接是:
ESP8266 | Arduino Mega
TX --> RX(引脚 19)
RX --> TX(引脚 18)
CH_PD --> 3.3V
VCC --> 3.3V
GND --> GND
从 Arduino 的 TX 引脚,我将它连接到电压分压
威廉希尔官方网站
将电压降到 3.3V,然后再连接到 ESP8266 的 RX。
我将一个简单的草图上传到 Arduino(下图)。串行监视器中的预期响应应该是
我在串行监视器中输入的内容(例如 AT),但我没有从 ESP8266 收到任何信息(当 ESP8266 响应时它应该打印“SOFTSERIAL AVAILABLE”)。收到的唯一响应来自 Arduino 端的序列号,其中打印出“序列号可用”。当存在传输时,ESP8266
蓝色 LED 确实在启动时短暂闪烁,因此芯片应该可以正常工作。
我在网上看到 Arduino 可能没有足够的电流为 ESP8266 供电。但是当我连接 Arduino Mega 的 3.3V 引脚为 ESP8266 供电时,ESP8266 的红色 LED 灯亮起,这意味着它确实在运行。
我尝试了另一种使用 9V 电池并连接到转换器的方法,转换器随后为 ESP8266 提供 3.3V 电压。但是一旦我将 ESP8266 的 CH_PD 和 VCC 引脚连接到 3.3V 的转换器,测量电压立即下降到 2.5V 左右,电流为 160mA。然而,ESP8266 仍然能够在红色 LED 亮起的情况下运行。我不确定这是否是正确的方法?或者它有什么问题吗?
上述两种情况(直接接arduino mega的3.3V或接外接
电源)仍然会导致ESP8266无法接收或发送消息,并且有发送时蓝色LED仍然不亮/闪烁。我尝试更换为新的 ESP8266,但结果相同。我不确定它是否与电压或电流有关??
我尝试在网上搜索,但没有人对蓝色 LED 根本不亮有任何问题,似乎只有我一个人有这个问题。请帮忙,我已经被这个问题困扰了 3 天了。感谢所有帮助!
代码:
void setup()
{
uint32_t baud = 115200;
Serial.begin(波特率);
Serial1.开始(波特率);
序列号.print("@");
Serial.println(波特率);
}
void loop()
{
while(Serial1.available() > 0)
{
Serial.print("SOFTSERIAL AVAILABLE");
序列号.println("");
char a = Serial1.read();
序列号.print(a);
}
while(Serial.available() > 0)
{
Serial.print("串口可用");
序列号.println("");
char a = Serial.read();
串行.写(一);
Serial1.write(a);
}
}