STM32 MCUリーフに搭載されたLEDを1秒おきに点灯/消灯させます。
対象は AP03 STM32 MCU です。STM32CubeIDEの設定を済ませ、STM32CubeProgrammerで書き込める状態にしておきます。プロジェクトに含まれるSTM32 HALとドライバを使うため、Arduino用のボードパッケージやライブラリの導入は不要です。
ソースの取得単位や、ビルド・書き込み・動作の切り分けはサンプルの動かし方でも説明しています。
使用するリーフ
Section titled “使用するリーフ”以下のリーフを使用します
| Type | Name | Q’ty |
|---|---|---|
| AZ62 | Connector Cover | 1 |
| AZ01 | USB | 1 |
| AP03 | STM32 MCU | 1 |
| AV01 | CR2032 | 1 |
| CR2032 coin cell battery | 1 | |
| M2*10mm screw | 2 |
リーフの組み立て
Section titled “リーフの組み立て”下図のようにリーフを組み立てましょう。

ソースコード
Section titled “ソースコード”- STM32CubeIDE-Sample-Softwareの
Code → Download ZIPでリポジトリ全体を取得して展開します。Gitを使う場合は同じリポジトリをcloneします。 - 展開先の
Blinkフォルダを確認します。.project、.cproject、Core、Driversを含むプロジェクト全体を使います。main.cだけではビルドできません。 - STM32CubeIDEの
File → Import... → General → Existing Projects into Workspaceを選びます。Select root directoryにBlinkフォルダを指定し、一覧のBlinkプロジェクトを選んでFinishを押します。 Project → Build Projectでビルドします。エラーなく完了し、Debug/Blink.elfが生成されたことを確認します。
配布リンクはmainブランチを指しているため内容が更新されることがあります。以前取得したプロジェクトに新しいファイルだけを混ぜず、同じ取得元の一式を使ってください。
Core/Src/main.cのwhile (1)内にある次の4行でLEDを制御します。行番号はソースの版によって変わります。
HAL_GPIO_WritePin(GPIOH, GPIO_PIN_3, GPIO_PIN_SET); // LEDを点灯 HAL_Delay(1000); // 待ち1000ms HAL_GPIO_WritePin(GPIOH, GPIO_PIN_3, GPIO_PIN_RESET); // LEDを消灯 HAL_Delay(1000); // 待ち1000ms- STM32CubeIDEの書き込み手順に従い、生成した
Debug/Blink.elfを書き込みます。手順内のHello World用ファイル名をBlinkのファイルに置き換えます。 - 書き込みの成功を確認したら、AP03のプログラムスイッチをRun側へ戻し、リセットスイッチを押します。
- AP03のLEDが1秒点灯・1秒消灯を繰り返すことを確認します。ビルド成功だけでは、書き込みと動作の確認は完了していません。
点滅しない場合は、電源、書き込んだELFファイル、プログラムスイッチの位置、書き込み後のリセットを順に確認します。接続できない場合はよくある質問を参照してください。