マイコン

STM32関連の記事が増えてきたのでまとめを作りました。 開発環境関連 Visual Studio Code + Makefile環境で補間がちゃんときくようにする STM32 + makefileでC++に対応してみる STM32 + makefile環境でROSSerialに対応させてみる HALAPI STM32+HALのUSARTでprintf(float),scanf, FPUを有効可 STM32 + HAL Flashの書き込み・読み込み STM32 +HALでエンコーダモードを使用 ...

マイコン

STM32マイコンのペリフェラル関連記事を一覧にまとめました。 こんにちは。そらです。 STM32でROSSerialを対応させたときに、makefileでC++に対応させることをしました。そのときに、少しはまったこともあったので忘備録として書いていきます。 この対応方法でHAL,LLAPIを問わずにC++に対応が可能です。 対応させていく 変更点について 基本的には、gccでコンパイルしているところをg++に変更してC++のコンパイルをできるようにしていけばOKです。STM32CUBEMXで出 ...

マイコン

STM32マイコンのペリフェラル関連記事を一覧にまとめました。 こんにちは。以前LLライブラリを使用してI2Cに挑戦しましたが全然動かないため諦めました。先日、いろいろとあってI2Cの通信について少し勉強したので今ならいける!という謎の自信をもって再挑戦しました。実装方法を書いていきたいと思います。 今回は、STM32F303K8+ICM20602で通信を行いました。ただし、データシートはF3,F4を両方見ながら行ったこと等あるためF4でも多分動くと思います。F4では環境がなかったため確認をする ...

雑記

STM32マイコンを使用してprintf,scanfといった標準入出力ライブラリを使用してUART通信ができるのようになりました。迷路シミュレータはQtを使用してGUIで使えるようになりました。Qtのライブラリを眺めていたところ、Qtにはシリアル通信を行うためのライブラリがあるということを知りました。 マイコンとQtのアプリケーションで通信を行うことで以前よりも可視性が高い状態でデバッグが可能になるのではないか、PCからPIDゲインを変更して調整して保存等をできれば調整がはかどりそうだということ ...

マイコン

STM32マイコンのペリフェラル関連記事を一覧にまとめました。 今回はSTM32F401REのNUCLEOボードとSatoさんがスイッチサイエンスに委託販売をしているICM-20602モジュールでSPI通信をする方法について書いていこうと思います。 HALライブラリを使用してMPU6500と通信する記事は下記を見ていただければと思います。   リファレンスマニュアルを読む SPI通信の方法を確認する RM0090 リファレンスマニュアルより引用   RM0090 リファレンス ...

マイコン

STM32マイコンのペリフェラル関連記事を一覧にまとめました。 HALAPIを使用したものではscanfの実装を行いましたが、LLAPIではscanfの実装方法を書いていなかったので書いていこうと思います。 それぞれの記事 HAL API Version LL API Version(STM32CubeMXの設定はこれと同じためこの記事では省略します。)   リファレンスマニュアルを読む RM0090 リファレンスマニュアル 今回必要なところはここです。この手順に沿ってプログラムを書く ...

マイコン

STM32マイコンのペリフェラル関連記事を一覧にまとめました。 LLAPIには、Flash関連のプログラムが実装されていませんでした。したがって、レジスタを叩いて動かすということをしていきたいと思います。 HALAPIでも書いているので、HALを使用している方は以下に紹介する記事をみていただければと思います。リファレンスマニュアルについて読んだ点は同じだったのでレジスタの中身の確認からしていきます。   STM32CubeMXの設定 Flashに読み書きができているかどうかの確認を視覚 ...

マイコン

STM32マイコンのペリフェラル関連記事を一覧にまとめました。 今回は、TIMの割り込みを有効にして割り込みができるようにするということをやっていきたいと思います。TIM割り込みの実装をするときに少しはまったので丁寧に書いていきたいと思います。 使用するマイコンはSTM32F405RGTで、汎用タイマのTIM5を使用して割り込み処理の実装方法を書いていきたいと思います。   リファレンスマニュアルを確認する TIMベースユニットを確認する リファレンスマニュアルのタイマカウントのベース ...

マイコン

STM32マイコンのペリフェラル関連記事を一覧にまとめました。 前回はADCのシングル変換を行いました。 複数のデータを取りたいときや、ロボコンロボットの情報取得用センサーなどアナログ入力の複数のセンサを使用したときには、複数チャンネルのAD変換が必要になると思います。今回は、DMAを使用して一回の複数チャンネルの変換をやっていきます。連続で変換するためには何度も同じ処理をする必要がありますが、変換をスタートするタイミングは自分で指定が可能です。 今回使用するマイコンはSTM32F450RGTで ...

マイコン

STM32マイコンのペリフェラル関連記事を一覧にまとめました。 センサの入力でよく使用するA/D変換の使い方を書いていきたいと思います。今回は、LLAPIを使用してレギュラ変換の1チャンネル変換のプログラムを書いていきたいと思います。 マイコンはSTM32F405RGTを使用していきます。   リファレンスマニュアルを読む ADCのシングル変換のやり方の確認 今回はシングル変換を行っていきたいと考えています。プログラムの実装に必要になりそうな場所を、リファレンスマニュアルから一部抜粋で ...