Nucleo F103RBとSparkfun ESP8266を持っています。
Nucleo を介して AT コマンドを ESP8266 に送信したかったのです。
私が使用した配線:
TX => D8
RX => D2
GND => GND
3V3 => 3V3
STLink仮想通信ポートで使用されるため、デフォルトではandピンが使用できないため、Serial1の D8
andを使用しました。重ね着はもちろん、逆さまにしての代わりにも挑戦してみました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は正常に動作します。