こんにちは、しおたにです。
前回STM32の開発環境を構築したのでLチカしていきます。
プログラムを書く
生成されたmain.cをみると
/* USER CODE BEGIN 1 */ /* USER CODE END 1 */
のように追記して良いところが示されているのでこれらの行間に書きます。
main関数には
/* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */
と無限ループできそうなところがあるので
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_GPIO_TogglePin(GPIOD,GPIO_PIN_2);
HAL_Delay(500);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
whileループ内に追記します。
内容はPD2ピンの出力のオン、オフを切り替え、500ms待機するだけです。
HALライブラリのおかげでこれだけで光るみたいです。
ビルド
ウィンドウ左上あたりにあるをクリックすればビルドしてくれます。
コンソールに「Build Finished. 0 errors, 0 warnings.」のように出ていれば成功です。
書き込みの準備
今回はDfuSeを使って書き込みます。
STBeeならUSBケーブルをつなぐだけで書き込みができる方法です。
こちらをインストールすると必要なソフトやドライバ類が整います。
追加されるソフトは以下の2つ。
- Dfu file manager
- DfuSe Demo
書き込みの流れ
- HEXファイルを作成する
- Dfu file managerでHEXファイルをDFUファイルに変換する
- STBee F4miniとPCにUSBケーブルでつなぐ
- DfuSe Demoで書き込む
1. HEXファイルを作成する
HEXファイルの作成方法についてはこちらに詳しく紹介されています。
ビルド時の設定を変えることで毎回HEXファイルが作成されるようにします。
2. Dfu file managerでHEXファイルをDFUファイルに変換する
Dfu file managerを起動してHEXファイルを指定すればDFUファイルに変換してくれます。詳細は以下URLです。
3. STBeef F4miniとPCにUSBケーブルでつなぐ
USBケーブルをつなぐ前に、STBeef F4miniの起動モード選択用のピン(BOOT0端子)をジャンパピンで真ん中と1側をショートさせます。
これでDFUブートモードとなり、DFUによる書き込みができるようになります。
MicroUSB端子に付属のケーブルを差しPCと繋ぎます。USBから電源が供給されるので他のピンに接続は必要ありません。むしろUSB接続と外部電源供給を同時にした場合壊れますのでご注意ください。
4. DfuSe Demoで書き込む
Dfuse Demoを起動し、変換したDFUファイルをSTBeeに書き込みます。詳細は以下URLです。
STBeef F4miniのほうは特にLEDが光ったりしませんが、
画像のようにsuccessful !と成功した感じになればOKです。
チカる
先ほどショートさせた起動モード選択用のピンの0側と真ん中をショートさせます。
書き込んだプログラムを動かすモードになったので、リセットボタン(RSTって書いてある方のボタン)を押せば
ピカピカします。ヤッター
今回はDfuSeを使用した書き込みをやりましたが、いくつかソフトを立ち上げなければならず手間がかかる…ということで次回はSTLinkを使ってCube IDEのみで書き込めるようにしたいと思います。
ではまた次回。