stm32のNUCLEO-F303REとF303K8でLチカをしたので備忘録。
GPIOピンからLチカしました。
HALドライバーを使っています。
使用環境
- OS:Windows10 Home
- CPU:i5-6200U
- IDE:System Workbench for STM32
- STM32CubeMX(初期コード作成に使用)
CubeMXでの初期コード作成
ボードの選択し、(以下はF303RE)
PinOut->Peripherals->SYS->Debug[Serial Wire]
PinOut->Peripherals->RCC->LSE[Clystal/Ceramic Resorator]
に合わせる。
左上のProjectからSettingを選び、ProjectNameを決め、Toolchain/IDEをSW4STT32に変えておく。
ここまで設定出来たら、ProjectからGenerate Codeを選択して初期コードを生成し終了。
Lチカコード
CubeMXにて生成した初期コードの中に、while文があると思うのでそこに
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_1);
HAL_Delay(500);
と書き込めば完了です。ここで、USRER CODE BEGIN~USER CODE ENDの間にコードを書き込んでいればCubeMXでこれは、A1ピンから出力が出るようになっています。
使用するGPIOピンは、CubeMXにて初期コードを作成する際に、下図のようにOutputにセットしておきます。(これはf303reのとき)
HAL_GPIO_TogglePinは
HAL_GPIO_TogglePin(GPIOx, GPIO_PIN_y);
で、xにピンに割り振ってあるアルファベット、yに数字を入れる。
例えば、A0ピンから出力するなら
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_0);