embeded/Cortex-M3 STM

stm32 pwm 주파수 계산

구차니 2025. 6. 5. 21:08

귀찮아서 50% duty로 하면 아래와 같이 계산하면 된다.

mcu 클럭을 기준으로 period 값을 변수로 넣어 되긴 한데...

  int mcu_clk = 8000000; // 8M Hz
  int freq_calc = mcu_clk / (freq * 10);

  TIM_OC_InitTypeDef sConfigOC = {0};
      htim3.Instance = TIM3;
      htim3.Init.Prescaler = freq_calc - 1;  // PSC - 20k
      htim3.Init.Period = 10-1; // ARR? - 4k
      sConfigOC.Pulse = 5-1;  // CCR