【STM32備忘録】GPIOの設定方法とビルドと書き込み
はじめに
前回はCubeIDEにおけるプロジェクトの作成方法について書きました。
今回はGPIOの設定方法について忘れない程度にまとめます。CubeMXでの設定とLチカプログラムを書いておきます。その流れでビルドと書き込みについても軽く触れておきます。
CubeMXでの設定
GPIOの設定
作成したプロジェクト内の.iocをダブルクリックするとCubeMXが立ち上がって以下のようなチップ・ビュー画面が出ます。
設定したいピンをクリックすると、そのピンに設定できる機能が表示される。今回は「GPIO_Output」を選択。
PB3ピンが緑色になって、GPIO_Outputに設定されている。
左側の「Categories」内の「System Core」→「GPIO」で詳細な設定ができる。
CubeMXのユーザマニュアルを見ると、各項目は以下のような設定ができる。
今回は「User Label」だけ変えた。「PB3 Configuration」の「User Label」を変更するとチップ・ビューの名前も変わっていることが確認できる。
設定が終わったら「Ctrl」+「s」でGenerate Codeするか聞いてくるのでYesをクリック。
main.hに自分が設定したGPIOが追加されていればGenerate Code成功。
Lチカプログラムの作成
main.cのwhile文の中に以下のように書けば一応Lチカできます。HAL_GPIO_TogglePinを使うともっとスマートにかけます。
HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);//ピンの出力をHIGHに HAL_Delay(100);//100ms待機 HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);//ピンの出力をLOWに HAL_Delay(100);//100ms待機
HAL_GPIOまで打って「Ctrl」+「スペース」でコード補完をかけると以下のように出てきます。GPIOはこれらのAPIがあるらしいですね、よく使うのはWritePinとReadPinですかね。
HAL_GPIO_WritePinの使い方を簡単に説明すると以下のような感じです。
ポートとピンの確認はチップ・ビューを見るのが良いと思います。PA0ならPortA(GPIOA)の0番ピン、PB3ならPortB(GPIOB)の3番ピンといった感じです。
ビルドと書き込み
トンカチでビルド、再生ボタンで書き込みできます。
最初の書き込みは以下のような画面が出ますがデフォルトの状態で「OK」をクリック。
おわりに
今回はGPIOの設定方法とビルドと書き込みについてまとめました。次はタイマーの設定についてまとめたい。
まとめました↓↓↓