0

Nucleo F103RBSparkfun ESP8266を持っています。

Nucleo を介して AT コマンドを ESP8266 に送信したかったのです。

私が使用した配線:

TX  => D8
RX  => D2
GND => GND
3V3 => 3V3

STLink仮想通信ポートで使用されるため、デフォルトではandピンが使用できないため、Serial1の D8andを使用しました。重ね着はもちろん、逆さまにしての代わりにも挑戦してみましたD2D0D1D10D8RST3V3TXRX

これが私が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は正常に動作します。

4

2 に答える 2

0

ESP モジュールを次のように配線します。つまり、CH_PD も高くします。SerialPassthroughを使用して、モジュールが機能するかどうかを確認した後 (両方でボーレートを 115,200 に設定)。

オプションで、モジュールの RESET ピンもデジタル ピンに配線します。ESP モジュールをリセットするのに便利です (Low にプルしてから High にプルしてリセットします)。

于 2018-06-21T05:02:32.823 に答える