乐鑫技术交流
直播中

陈静

7年用户 1266经验值
私信 关注
[问答]

ESP-WROOM-02未按预期响应AT命令的原因?

我使用 ESP-WROOM-02(esp8266 内核)作为 WIFI 模块和 samd21g18 作为主处理单元。为了进行测试,我使用了 ESP-WROOM-02 开发板套件和一个 Arduino nano IOT,它还有一个 samd21g18 MCU。我通过 ESP 闪存下载工具和 AT 固件 v2.2.1.0 闪存了 ESP-WROOM-02。用户指南强调 ESP-WROOM-02 的默认 ESP8266 RTOS AT 固件将 RX/TX 与 CTS/RTS 交换。
为了测试 UART,我使用了 Arduino 串行监视器和连接到板载 FTDI 的 UART。为了连接新的引脚(IO15 和 IO13),我将引脚 RX0 连接到 IO13,将 TX 连接到 IO15 作为旁路。当我发送任何 AT 命令(或我在串行上写的任何东西)时,ESP 总是返回一个空行和一个新行说准备好了。拳头我很难说是 CR 和行尾,我尝试了所有组合都没有用。
为了了解发生了什么,我将逻辑分析仪连接到 RX0,以检查是否与我通过串行监视器发送的内容相同。它发送正确。
然后,我将逻辑连接到 IO15(ESP TX)。但似乎有些不对劲。第一条消息丢失了一点。
[
然后我测试了使用 arduino nano iot 33(使用 3.3V 电平)将 AT 命令发送到 ESP。我直接将 arduino 连接到 IO15 和 IO13,但结果最糟糕,因为 ESP 没有对 arduino 做出任何回复。代码:
代码:全选#include
#include "wiring_private.h"

//see https://github.com/ostaquet/Arduino-Nano-33-IoT-Ultimate-Guide
Uart Serial0 (&sercom0, 5, 6, SERCOM_RX_PAD_1, UART_TX_PAD_0);
String a;

// Attach the interrupt handler to the SERCOM
void SERCOM0_Handler()
{
    Serial0.IrqHandler();
}



void setup() {
  pinMode(LED_BUILtiN, OUTPUT);      // set LED pin as output
  digitalWrite(LED_BUILTIN, LOW);    // switch off LED pin

  // Reassign pins 5 and 6 to SERCOM alt
  pinPeripheral(5, PIO_SERCOM_ALT);
  pinPeripheral(6, PIO_SERCOM_ALT);



  Serial.begin(115200);               // initialize serial communication at 9600 bits per second:

  // Start my new hardware serial
  Serial0.begin(115200);


}


void loop() {



      Serial0.println("AT+GMR");
      while (Serial0.available()) {
        a = Serial0.readString();
        Serial.print(a);
      }
      delay(1000);


  }

另一方面,ESP TX 根本不回复。我还尝试将波特率降低到 9600(在用户指南中说要用 115200 进行测试)。
                                 

更多回帖

发帖
×
20
完善资料,
赚取积分