【发布时间】:2018-11-29 15:20:33
【问题描述】:
我有一个Nucleo F103RB 和一个Sparkfun ESP8266。
我想通过 Nucleo 向 ESP8266 发送 AT 命令。
我使用的接线:
TX => D8
RX => D2
GND => GND
3V3 => 3V3
我使用了 Serial1 的 D8 和 D2,因为 D0 和 D1 引脚默认情况下不可用,因为它们由 STLink 虚拟通信端口使用。我还尝试了D10 而不是D8 以及将RST 放在3V3 上并反转TX 和RX
这是我在 mbed 上的代码:
#include "mbed.h"
Serial pc (D1, D0);
Serial esp(D8, D2);
int main()
{
pc.baud(115200);
esp.baud(115200);
wait(0.1);
pc.printf("start\r\n");
esp.printf("AT+RST\r\n");
while(true) {
if(pc.readable()) {
char c = pc.getc();
pc.putc(c); //local echo
esp.putc(c);
}
if(esp.readable()) {
pc.printf("reading esp");
char c = esp.getc();
pc.putc(c);
}
}
}
我使用Serial 而不是RawSerial,因为RawSerial 根本不适合我,我不知道为什么。
ESP8266 模块没有响应any AT command available to the factory firmware。 esp.readable() 无论如何都会返回 false,而 esp.printf("AT+RST\r\n"); 什么也不做。
电路板是全新的,LED 工作正常。
【问题讨论】:
-
ESP-01 需要的不仅仅是这 4 根电线。
-
此时我尝试了您在网上找到的大多数接线。他们中的大多数确实只使用 4 根线并将 RST 桥接到 VCC。