Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

ESP8266でUARTに出力される起動時のメッセージを回避する。

ESP8266の起動時に74880baudでUART0にメッセージが出力される。

これを出さないようには出来ないのかという趣旨の質問が某掲示板にあったので確かめてみた。

調べた限り(ESP8266 Disable Start Up Messageとかで検索)では止めることはできないようだ。
https://www.esp8266.com/viewtopic.php?p=37510
なので、どうしても邪魔ならUART1を使うことにすればいいよ、という回答がフォーラムでいくつかあった。
https://forum.arduino.cc/index.php?topic=535687.0

ESP-WROOM-02の例だと、
11pin – RXD – GPIO3
12pin – TXD – GPIO1
となっていて、これが初期設定で使われ、かつ、起動時のメッセージの出力にも使われる。
一方で、スケッチのSerial.begin();のあとにSerial.swap();を追加することで、トグルでUARTのポートが下のものと入れ替わるらしい。
5pin – IO13 – GPIO13(RX)
15pin – IO15 – GPIO15(TX)
メッセージは依然としてGPIO1に出力されるので、GPIO15しか見てなければ実質は起動時のメッセージを見なくて済むという寸法だ。
ちなみに、NodeMcuでどうなのか見てみたら下のようだった。
要するにD7、D8を使うということ。

モジュール上のUSBシリアル変換チップ(CP2102)を通っているのはRXD0とTXD0の方なので、

切り替えたら下の写真のように外付けでUSBシリアル変換モジュール(赤い基板のヤツ)が必要だ。

上のようにつないで、TeraTermで出力を見た。

Sleepからの復帰であのメッセージが出力されるはずだが、当然ここには表示されていない。
この記事の1枚目の絵のようにRART0をUSB経由でモニタしているSerial MonitorにはSleepからの復帰時のメッセージが表示されている。

このエントリーをはてなブックマークに追加

Posted under: ESP8266


コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.