yuqlidの日記

どっかの学生の雑記帳

STM32からのprintfデバッグでfloatを出力する

STM32関係でのメモ

開発環境は以下を組み合わせて使っています.

STMマイコンを含むARMマイコンはsemihostingという機能が備わっており,Eclipseのコンソールにprint()を用いてメッセージを出力できるので非常に便利です.(しかし使い過ぎるとそれなりに処理が重いです)

mpu9250を使ってみようと思い,細々と開発していました. ハマった箇所があったので残します.

自身の環境ではsemihostingで出力する際に,float型の変数が出力できませんでした.
このように記述した場合

printf("%10.3f,%10.3f,%10.3f,%10.3f,%10.3f,%10.3f\r\n",
            imu.gyr_data[0],
            imu.gyr_data[1],
            imu.gyr_data[2],
            imu.acc_data[0],
            imu.acc_data[1],
            imu.acc_data[2]
          );

f:id:Yuqlid:20160521014052p:plain

このようにうまく表示されませんでした.

調べたらこんな記事が出てきました.

github.com

これにあるように,Eclipseの設定をいじります.
f:id:Yuqlid:20160521015005p:plain

f:id:Yuqlid:20160521014053p:plain

無事出来ました.(AK8963のIDが0なのは気にしないでください)