Arduino应用ESP8266简单的AT命令

时间:2016-11-13 00:25:15

标签: arduino esp8266 baud-rate arduino-due arduino-esp8266

我有一个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);
  }
}

任何帮助都会非常感激。

2 个答案:

答案 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对货币变化非常敏感。有时需要从外部注入一点电压(通过电压表......)进行一点推动。在我这样做之后,通信就开始了。