STM32定时器参数设置(TIM_Prescaler、TIM_Period)

TIM_Prescaler
定时器预分频器设置,时钟源经该预分频器才是定时器时钟,它设定 TIMx_PSC寄存器的值。可设置范围为 0 至 65535,实现 1 至 65536 分频。.net

TIM_Period
定时器周期,实际就是设定自动重载寄存器的值,在事件生成时更新到影子寄存器。可设置范围为 0 至 65535。code

根据定时器时钟的频率,好比时钟的频率是72MHZ,能够理解为一秒钟STM32会本身数72M次,预分频系数就是将频率分割,好比分频系数是72,则该时钟的频率会变成72MHZ/72=1MHZ,可是在设置的时候要注意,数值应该是72-1。blog

假定分频系数是72-1,那么频率变成1MHZ,也就意味着STM32在一秒钟会数1M次,即1us数一次。事件

好了,接下来就是肯定预装载值,好比须要定时1ms,因为1ms=1us*1000,那么预装载值就是1000-1;如此类推,在预分频系数肯定的状况下,定时的时长就由预装载值肯定了。至于要把值减一的缘由,估计是计数是从0开始,因此要减一。get

原文连接:https://blog.csdn.net/ZIIllII...io

//对于71MHZ的频率,500ms中断一次,这两个参数设置以下:
TIM_Prescaler=7199;   //预分频值
TIM_Period=4999;    //下一个更新事件装入活动的自动重装载寄存器周期的值

   //分频7200,用72000000/7200=10000Hz
   //此时的周期就是1/10000=0.0001s
   //500ms=0.0001s*5000次
   //5000-1=4999次
   //即经过4999次系统的运行,就是500ms
相关文章
相关标签/搜索