【STM32】PWM波中的时间问题
史迪仔不坏 人气:0- 我们使用的TIM3定时器是挂载在APB1总线上的,APB1总线的时钟频率为72MHz。
- APB1总线的时钟频率通过PSC寄存器预分频,得到的频率为(72/(71+1))=1MHz。
- 定时器的自动重装载值为99,即每(1*100/100000)=0.1ms发生一次上溢,定时器重装载。改变自动重装载的时间间隔越短,最后一个PWM波周期的所带来误差就会越小。自动重装载的时间间隔越长,带来的误差就会越大。
若自动重装载间隔的时间大于HAL_Delay的时间,在PWM占空比值确定的HAL_Delay时间内,并没有完成一个完整的PWM波周期,即在这个占空比值的输出过程中,此时PWM波的有效电压值与希望达到的模拟电压有效值并不相等。因此达不到呼吸灯的效果。 - HAL_Delay(10);表示每10ms变换一次PWM占空比,来实现LED灯变亮或暗一些。
- 每10ms变换一次PWM占空比,而一个周期内pulse从0变到99,再从99变到0。因此一个周期内PWM变换200次,即呼吸灯的一个周期为2s。
加载全部内容