STM32:レジスタ操作でLED点滅
1.本日の内容
(1) STM32マイコン(nucleo f401RE)を使用して、LEDの点灯/消灯を行う。
(2) 今回は、HALの関数を使わず、レジスタを操作し、LEDを点滅させる。
・目次
2.内容
(1) やる内容の詳細
・STM32マイコン(nucleo f401RE)を使用して、LEDの点灯/消灯を行う。
・nucleof401についてる青ボタンを押した時
・プログラムを実行し、LEDを2秒ごとに点滅する。
・レジスタの操作でON/OFF出来ることを確認する。
・今回は、GPIOのレジスタについて説明する。
(2) 使用部品
個数 | 部品名 | 型番 |
---|---|---|
1 | USBケーブル | USBミニBタイプ |
1 | mbed(マイコンボード) | nucleo f401RE |
(3) STM32CubeMXの設定、プログラムを出力
CubeMXの設定及び、AtricTrueStdioの起動については下記記事の
「(3)STM32CubeMXの設定、プログラムを出力」を参照
→STM32マイコン_5(スイッチ入力とLED点灯、消灯) - Project_OKI’s diary
(4) AtricTrueStdioでプログラム作成
(a) プログラムの書き込み
・トンカチマークをクリックして、ビルドする。
・エラーが出ないことを確認する。
・下記プログラムを記載する。
while(1){ /* USER CODE BEGIN 3 */ //PA5を1に設定 GPIOA -> ODR = 0b0000000000100000; HAL_Delay(1000); //1秒待つ //PA全てのポートを0に設定 GPIOA -> ODR = 0b0000000000000000; HAL_Delay(1000); //1秒待つ } /* USER CODE END 3 */
(5) プログラムの説明
・LEDを点灯させる。
・ODRがポートの設定となっている。
参考:https://www.javadrive.jp/cstart/ope/index6.html
詳細:
・STM32いじってみた(3) - 設定の記法・GPIO編
・STM32 汎用I/Oポートのプログラミング
・STM32F3Discover GPIO
(6) 詳細説明:
3.関連記事
・STM32マイコン_2(UART通信:TeraTermにHellow表示) - Project_OKI’s diary
・STM32マイコン_3(UART通信:複数文字送信) - Project_OKI’s diary
・STM32マイコン_4(NVICの設定内容) - Project_OKI’s diary
・STM32マイコン_5(スイッチ入力とLED点灯、消灯) - Project_OKI’s diary
その他:
・CubeIDEの使い方(起動~デバック実行) - Project_OKI’s diary
・SPI通信とは - Project_OKI’s diary
C言語:
・組み込みの為のC言語基礎知識1(printf) - Project_OKI’s diary
・C言語基礎知識2(for分で処理を繰り返す) - Project_OKI’s diary
・C言語基礎知識3(配列) - Project_OKI’s diary
・C++日本語リファレンス(uint8_t)
・STM32でUARTをやってみる1
・STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (5) UARTを使ってみよう
・マイクロマウス研修(kora編)[23] STM32マイコンでシリアル通信
・C言語ゼミ