0626 SW4STM32&CubeMXを用いてNucleoでPWMしてみる
前回と同様にして,CubeMXで,
PA5をクリックして,TIM2_CH1を選択する.
そして左側のリストのTIM2のChannel1をPWM Generation CH1にする
次にClock ConfigurationのタブをクリックしHCLKが84Mhzになっていることを確認する.また,Timer Clocksが84Mhzになっていることを確認する.
次にConfigurationのタブに移動し,TIM2をクリックし以下のような設定にする.
この設定によって,84Mhz/((83+1)*999+1)=1kHz周期のPWMが作れているはず.
CubeMXのギヤみたいなボタンを押してコードを作成する.
main関数の95行目に
if (HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1) != HAL_OK) { Error_Handler(); }
を入れて,
メインループに
__HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, 100);
HAL_Delay(500);
__HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, 999);
HAL_Delay(500);
を入れてビルドして通ったら,書き込む.
0.5秒ごとにLEDが明るくなったり暗くなったらOK