RTOS版を保留して、まずはnon-OS版でビルドすることにした。
以前、ATコマンドのサンプルはビルドして動かしたことがあるので、もう少しシンプルなものにしたい。
選んだのは、smart_config。
何をするのかはわからないけど、最初にos_printf()とあるから、文字列をシリアル出力するところが見えればいいだろう。
ビルドして、焼くが、なんかシリアル出力がゴミ。
そういえば、あまり普通じゃない速度がデフォルトだったよな、と思って検索すると、デフォルトは74880bpsなので、uart_init()で変更すればよいとのこと。
ふむふむとuart_init()を呼び出したのだが、リンクエラー。
UartBautRate(Baud、じゃないんだ)というenum定義っぽいので、includeを検索するが出てこない。
なんだこれは?
調べた結果、uart_init()はexamples/driver_libにいることがわかった。
気付かんわ。。。
中身を自分のプロジェクトにコピーして、Makefileを書き換えるのだ。
そしたら、ちゃんと115200bpsで出力された。
なお、デフォルトではUART0に出力するようになっていて、WROOM-02なのかスイッチサイエンスさんのボードがそうなのかはわからんが、ピンのRX/TXで出ているのはUART0なので、気にせず使えるようになっている。
たぶん、コンパイルオプションでwarningがあまり出ないようになっているので、-Wallくらいは追加したいな。
また、使っていない関数をリンクから外したいのだけど、大丈夫かな?
それよりも今回の大きな発見は、cygwinでビルドしたものを焼いてもうまく動かなかった、ということだった。
こっちを使った方がよいのかな? 次回試そう。
http://gnutoolchains.com/esp8266/
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。