2016/05/26

[esp8266]UART1TXを使う

久々に、ESP8266を使ってみよう。
今のNon-OS SDK最新版は、V1.5.3だ。
技適が心配だったのでNon-OSを使っているのだけど、Arduino版まではOKとのこと。


使うにしても題材がほしいところだが、そういえばESP8266にはまだRC-S620/Sをつないでいないことを思い出した。
RC-S730もあるのだが、WROOM-02にはRX/TXが出ているので、そことつなげばよさそうだから、I2Cよりは楽そうだ。

 

そこで、はたと困った。
ESP8266は、os_printf()でログを出すとTXから出力される。
しかし、ここはRC-S620/Sとつなぎたいので、別のところからログを出したい。

ドキュメントを見ると、IO2がUART1のTXDになることができるとのこと。
APIは、os_install_putc1()を使うらしい。
そうすると、os_printf()がUART1 TXDから出力されるようだ。

 

あれ、ではUART0 TXDを使うにはどうしたらよいのだ?
これは、文字列ならuart0_sendStr()を使うのがよさそうだ。
printf()風ではないので、sprintf()で加工してから使うとよいだろう。
RC-S620/Sに対してはバイナリの送受信だから、uart0_tx_buffer()がよいかな。


https://github.com/hirokuma/esp8266_httpget

動かしたい場合は、include/user_config_sample.hをinclude/user_config.hに変更して、中を自分の環境に合わせよう。

image

WROOM-02は、スイッチサイエンスさんから購入している。
間違えて、モジュールと基板を別々に買って自分でハンダ付けしているので、見た目がきれいじゃない。。

ESP-WROOM-02 Wi-Fiモジュール - スイッチサイエンス
ESP-WROOM-02ピッチ変換用基板《シンプル版》 (基板のみ) - スイッチサイエンス

ハンダ付けされたセットと同じになるだろうと思い込んで「動かん動かん」と悩んでいたのだが、別売りの場合はIO2が3.3Vに接続されているのだ。
基板裏のSJ2をカットして、出力されるようになった。

 

UART Download ModeにせよFlash Boot Modeにせよ、IO2はHighにしておかないといかんことになっている。
が、よくわからんが、オープンにしたままでも起動した。
ESP FLASH DOWNLOAD TOOLで焼くときも、RXDは使っていないのか、IO2にPC側のRXDをつないでいても焼くことができた。

プルアップした方がよさそうではあるのだが、よくわからんし動いているのでそのままにしておこう。

 

ENとRSTはWROOM-02基板の方でプルアップさせているからこういうイメージだ。

image

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。