天天看點

STM32 PWM周期與頻率的計算STM32 PWM周期與頻率的計算

文章目錄

  • STM32 PWM周期與頻率的計算
    • 頻率的計算
    • 占空比的計算
    • 筆記僅供自學,用來回看複習,不一定适合你,如有錯誤請指出。

STM32 PWM周期與頻率的計算

TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
	TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
	TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
	TIM_TimeBaseInitStructure.TIM_Period = 100 - 1; //ARR 自動重裝器的值
	TIM_TimeBaseInitStructure.TIM_Prescaler = 72 - 1; //PSC 預分頻器的值 對72M(720000000)進行 7200分頻 即10K的頻率下 計10000個數 1s的時間
	TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;//重複計數器的值 CCR
	TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStructure); 
           

頻率的計算

首先,要明确兩點:

1、

ARR(TIM_Period)

是計數值;

2、

PSC(TIM_Prescaler)

是預分頻值。

計算公式:

Fpwm = 主頻 / ((ARR+1)*(PSC+1))(機關:Hz)

STM32 PWM周期與頻率的計算STM32 PWM周期與頻率的計算
例如:STM32F103的主頻為

72M

按如上設定可知

ARR = 100 -1

PSC = 72-1

是以

Fpwm = 72M/(100*72)= 10kHz

也就是

1/100k S = 100us

占空比的計算

計算公式:

duty circle = TIM3->CCR2 / ARR(機關:%)

若是我傳入的

Compare = 20

,則

duty circle = 20 / 100 = 20%

STM32 PWM周期與頻率的計算STM32 PWM周期與頻率的計算
STM32 PWM周期與頻率的計算STM32 PWM周期與頻率的計算

筆記僅供自學,用來回看複習,不一定适合你,如有錯誤請指出。