0

我有一个 Arduino DUE,想将它连接到 ESP8266 板,然后在串行命令行上使用简单的“AT”命令测试连接。我在互联网上写了很多,但是关于这个话题有很多不同的答案,没有一个能直接解决我的问题。

我用两条电源线正确设置了 eps8266。它们甚至来自不同的电源,因此 esp 板的电源应该没有问题。

我认为问题出在不同的波特率上。如果我选择 9600 Baud 用于通过 USB 从 Arduino 连接到 PC 并选择 74880 用于从 esp 板到 DUE 的连接,我至少在 esp 板必须重新启动时(当我强制它时)正确地得到错误消息。

等 2013 年 1 月 8 日,第一个原因:1,启动模式:(3,6)

加载 0x40100000,长度 1396,房间 16
尾部 4 校验和 0x89 加载 0x3ffe8000,长度 776,房间 4
尾部 4 校验和 0xe8 加载 0x3ffe8308,长度 540,房间 4
尾部 8 校验和 0xc0 csum 0xc0

2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mod
le: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);
  }
}

任何帮助将非常感激。

4

2 回答 2

1

那不是错误。这只是一个引导消息

AT 固件可能使用与引导加载程序不同的波特率。
您应该尝试不同的波特率并使用简单的AT命令进行测试。
当您找到正确的波特率时,引导消息将是垃圾,但 AT 命令将起作用。

于 2016-11-13T02:52:21.057 回答
1

我不得不做一个解决方法,在这个问题中描述:

为什么我在向 ESP8266 发送复位后需要更改波特率?

此外,ESP 对货币变化非常敏感。有时它需要通过从外部注入一点电压(通过电压表......)来推动。完成此操作后,通信开始。

于 2016-12-07T12:14:56.730 回答