【概念&计算理解】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周期与频率的计算_第1张图片

例如: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周期与频率的计算_第2张图片

笔记仅供自学,用来回看复习,不一定适合你,如有错误请指出。

你可能感兴趣的:(#,STM32单片机,stm32,单片机,arm)