STM32からのprintfデバッグでfloatを出力する
STM32関係でのメモ
開発環境は以下を組み合わせて使っています.
- GCC ARM Embedded project files : GCC ARM Embedded
- GNU ARM Eclipse plugin
- STM32CubeMX – STMicroelectronics
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] );
このようにうまく表示されませんでした.
調べたらこんな記事が出てきました.
https://devzone.nordicsemi.com/question/5076/using-floats-with-sprintf-gcc-arm-none-eabi-nrf51822/
これにあるように,Eclipseの設定をいじります.
無事出来ました.(AK8963のIDが0なのは気にしないでください)
ディスカッション
コメント一覧
まだ、コメントがありません