雑記

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

マイコン

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

マイコン

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

マイコン

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

マイコン

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

マイコン

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

マイコン

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

マイコン

モーターの制御やブザーの音を鳴らすことなどで使用するPWM出力について書いていきたいと思います。使用するマイコンはSTM32F405RGT、TIMは汎用タイマのTIM2を使用していきます。今回は、私のマイクロマウスについているブザーをPWMを使用して、音階を鳴らしていきたいと思います。   リファレンスマニュアルを確認する PWMモードを確認する RM0090 リファレンスマニュアルより引用 RM0090 リファレンスマニュアルより引用 PWMモードの設定に必要そうなことをまとめると以 ...

マイコン

HALでエンコーダの入力の方法は書きましたが、今回はLLライブラリを使用してTIM1でエンコーダの入力を行っていきたいと思います。"STM32 +HALでエンコーダモードを使用してみる"の記事と説明が被るところは省略します。 ↑STM32 +HALでエンコーダモードを使用してみるの記事   リファレンスマニュアルを確認する エンコーダモードについて確認する RM0090 リファレンスマニュアルより引用 レジスタの設定はこの文章の通りにすればよさそうですね。 STM32CubeMXで生成 ...

マイコン

LLライブラリでSPI通信やエンコーダモードの動作確認など、確認を行うときに、USART通信でPCにデータを出力することができない場合大変なので、LLAPIを使用したUSART通信の仕方について書いていこうと思います。今回使用するマイコンはSTM32F405RGTです。   リファレンスマニュアルを確認する USARTで1Byte書き込み方を確認する データシートをみていきたいと思います。 RM0090より引用 RM0090より引用 1Byteデータを送るには、 USARTの初期化設定 ...