arr:自动装载值
psc:预分频数
1M Hz= 1 000K Hz = 1 000 000 Hz
1Hz可以理解为1秒震动1次
假设时钟的频率是72MHZ,可以理解为一秒钟STM32会自己数72M次,预分频系数就是将频率分割,比如分频系数是72,则该时钟的频率会变成72MHZ/72=1MHZ,但是在设置的时候要注意,数值应该是72-1。假定分频系数是72-1=71,那么频率变成1MHZ,也就意味着STM32在一秒钟会数1M次,即1us数一次。好了,接下来就是确定预装载值,比如需要定时1ms,由于1ms=1us*1000,那么预装载值就是1000-1=999;如此类推,在预分频系数确定的情况下,定时的时长就由预装载值确定了。至于要把值减一的原因,估计是计数是从0开始,所以要减一。
eg:stm32时钟频率为72MHz,设计定时500ms。
分析:设置预分频为:7199,则72M/(7199+1)=10KHz,即一秒计数10K次,想要定时500ms,则自动重装值为10K*0.5s - 1=4999。
版权声明:本文为CSDN博主「傅里叶也头大」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43625266/article/details/122080141
暂无评论