STM32でUARTをやってみる4(Chanさんのxprintf)

今回はやっとこの話題を書いていく。

  • uart_getc
  • uart_putc
  • uart_puts

が必要なのでそれを読んでほしい

gsmcustomeffects.hatenablog.com

Xprintf

組み込み用printfモジュールである。
まあ組み込みだと素のprintfが使えないことが多いしましてやUARTに吐くとなるといろいろな制約がある。
そこでFatFsで有名なChan氏が作ってくれたのである。

詳しくは以下参照

ELM - 組み込み用printfモジュール

導入

ダウンロードされた

  • xprintf.h
  • xprintf.c

をプロジェクトにインポートする。

ファイルからコピーしてペーストするとこういうふうに入る

f:id:gsmcustomeffects:20170324022100p:plain

んでmain.cでインクルード

f:id:gsmcustomeffects:20170324022210p:plain

使ってみる

使い方は結構簡単で上記の送信関数uart_putcをxdev_outマクロに投げるだけだ。
ポインタ形式じゃないのはChanさんが丁寧にマクロ化してくれてるからです

f:id:gsmcustomeffects:20170324022518p:plain

APIは普通のprintfと同じ(xprintfだけど
ちなみに浮動小数点は非対応

f:id:gsmcustomeffects:20170324023134p:plain

Teratermで確認

こんな感じになってればOK

f:id:gsmcustomeffects:20170324023211p:plain

まとめ

今回はUARTのちょっとした利用例とのことでprintfを作ってみたがSTのsampleにも似たようなものがあった気がする(あれば謎

でも汎用モジュールなのでやはりCHANさんが最強w