【问题标题】:Arduino Due with ESP8266 simple AT commandArduino Due 与 ESP8266 简单的 AT 命令
【发布时间】:2017-03-26 22:30:25
【问题描述】:

我有一个 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,len 776,房间 4
尾巴 4 校验和 0xe8 加载 0x3ffe8308,len 540,房间 4
尾巴 8 校验和 0xc0 csum 0xc0

第二次启动版本:1.4(b1)
SPI 速度:40MHz
SPI模组
le:5200万

代码如下:

//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);
  }
}

任何帮助将不胜感激。

【问题讨论】:

  • 你确定有AT firmware 闪入你的ESP8266 吗?如果您使用 Arduino IDE + ESP8266 插件直接对 ESP8266 进行编程,那么您将覆盖 AT firmware,因此它不会再响应 AT 命令了。

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


【解决方案1】:

这不是错误。这只是一个boot message。

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

【讨论】:

  • 谢谢,但我的 Arduino 到 PC 的波特率与 ESP 和 arduino 之间的波特率之间是否存在特殊比例?例如 pc 的波特率必须是 esp 的两倍?
  • 不需要任何比例,但是如果从ESP发送的数据很多,到PC的波特率应该更高,这样串行缓冲区就不会堵塞。
  • 请记住,ESP 始终以 74880 波特率启动,打印启动消息,然后将控制权交给 AT 固件,这很可能会切换到另一个波特率。不确定是哪个,但最有可能的是 9600 或 115200,这取决于加载的 AT 固件!
  • 所以我建议:在您的代码中稍等片刻,让 ESP 完全启动。然后发送一个 AT 命令,后跟一个换行符,看看 ESP 是否响应,尝试使用 9600 和 115200 波特。
  • 我尝试了这些可能性仍然没有运气。稍后我会尝试使用不同的 esp 模块,看看是否是硬件错误
【解决方案2】:

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

Why do I need to change the Baudrate after I send a Reset to the ESP8266?

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

【讨论】:

    猜你喜欢
    • 2018-11-29
    • 1970-01-01
    • 2022-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-07
    相关资源
    最近更新 更多