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