我有一个Nucleo F103RB和一个Sparkfun ESP8266。
我想通过 Nucleo 向 ESP8266 发送 AT 命令。
我使用的接线:
TX => D8
RX => D2
GND => GND
3V3 => 3V3
我使用了 Serial1 的 D8
和,因为默认情况下,和引脚不可用,因为它们被 STLink 虚拟通信端口使用。我也尝试过,而不是穿上和倒置和D2
D0
D1
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 模块不响应工厂固件可用的任何 AT 命令。esp.readable()
无论如何都返回 false 并且esp.printf("AT+RST\r\n");
不做任何事情。
电路板是全新的,LED 工作正常。