我有一个Arduino DUE并希望将它连接到ESP8266板,然后在串行命令行上使用简单的“AT”命令测试连接。我在互联网上写了很多,但关于这个主题有很多不同的答案,没有一个能直接解决我的问题。
我使用两根电源线正确设置了eps8266。它们甚至来自不同的电源,因此esp板的电源应该没有问题。
我认为问题出在不同波特率的某个地方。如果我选择9600波特用于从Arduino到PC通过USB连接,74880用于从esp板到DUE的连接我至少在esp板重启时(当我强制它时)正确获取错误消息。
ets 2013年1月8日,第一个原因:1,启动模式:(3,6)
加载0x40100000,len 1396,房间16
尾巴4 chksum 0x89 加载0x3ffe8000,len 776,房间4
尾巴4 chksum 0xe8加载0x3ffe8308,len 540,room 4
尾巴8 chksum 0xc0 csum 0xc0第二启动版本:1.4(b1)
SPI速度:40MHz
SPI Mod
勒:52mn
代码如下:
//always high
int CH_PD_8266 = 53;
void setup() {
Serial.begin(9600);
Serial3.begin(74880); //--> at least error code is shwon correctly
// Serial3.begin(115200); //error code is gibberish
pinMode(CH_PD_8266, OUTPUT);
digitalWrite(CH_PD_8266, HIGH);
}
void loop() {
while (Serial.available() > 0) {
char a = Serial.read();
Serial3.write(a);
//Write back to see if it even comes perfect
//Serial.write(a);
}
}
void serialEvent3() {
while (Serial3.available() > 0) {
char a = Serial3.read();
// Serial.write('A');
Serial.write(a);
}
}
任何帮助都会非常感激。
答案 0 :(得分:1)
这不是一个错误。它只是boot message。
AT固件可能使用与引导加载程序不同的波特率
您应该尝试不同的波特率并使用简单的AT
命令进行测试
当您找到正确的波特率时,引导消息将是垃圾,但AT命令将起作用。
答案 1 :(得分:1)
我必须做一个解决方法,在这个问题中描述:
Why do I need to change the Baudrate after I send a Reset to the ESP8266?
此外,ESP对货币变化非常敏感。有时需要从外部注入一点电压(通过电压表......)进行一点推动。在我这样做之后,通信就开始了。