CubeMXで周辺デバイスの自動初期化

CubeIDEはCubeMXと統合されてますが、元々は別れてたらしい、CubeIDEの特徴とも言える機能で周辺デバイスの設定だけで.iocファイルを作成して、buildで対応するコードを生成してコード側にはロジックの記述だけという役割分担のようです

<環境>

・Intel MacBook Ventura

・CubeIDE 1.10.0

参考は、

https://moons.link/post-50/

からTimerの初期設定と、Timerを使ったLチカを実行してみました、そのまんまですが、全体の流れと手順は、

Categories(TIM1) -> ModeのClock SourceをInternal Clock -> Parameter Setting(タイマーの動作設定) -> NVIC Setting(TIM1 update・・をEnableにチェック) -> main.cにTIM1の動作起動コードの追加 -> Core > Startup中のstartup_stm32f401retx.s(割り込みベクタ記述のアセンブラコード)中の割り込みベクターに対応する割り込み処理を記述(LED表示のトグル処理、stm32f4xx_it.c中に記述)

以上完了後にBuildすれば実行可能ということ

参考ページの記述にはClock SourceをInternal Clockにすれば設定画面が開くとありましたが、リロード(?)しないと見えてこなかった

CubeMXの初期設定で作成された結果は、main.cの中にちゃんと見えて(184行目以降)きてますね

最初Prescallerを39999(10倍の値)にしてたので、1秒間隔じゃなく10秒間隔でブリンクしてましたが、Buildエラーさえでなけりゃちゃんと動くでしょう

一度ST-LINKを経由した書き込まれたコードはFlash上への書き込みなので、ラズピコなどと同じく、電源切っても再度電源投入すればそのまま動き出します

 

admin

コメントを残す