stm32 定时器中预分频系数是啥作用? 72MHz 想要让定时器 100次/s 该怎么写配置代码?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32 定时器中预分频系数是啥作用? 72MHz 想要让定时器 100次/s 该怎么写配置代码?相关的知识,希望对你有一定的参考价值。

timer_init(TIM3,999,7199); 这行是什么意思? 是用 7199÷999 吗?
timer_init(TIM2,99,7199);
这两行的意思是将 tim3 和 tim2 这两个定时器按照 毫秒级的时间 去计数吗?
tim3 计数到 999ms 毫秒 给一个中断?
然后tim2 计数到 99ms 毫秒 给一个中断吗?如果是这个意思那预分频是在什么地方分的?
求解答啊 啊啊 啊啊啊 ,谢谢。

timer_init(TIM3,999,7199);这是一个人为写的函数,第一个参数应该是TIMx,就是启用那个定时器,这里选择了TIM3,第二个次数3999是自动重新装载值,就是你要计数多少次,stm32真正计数次数需要加一,也就是999+1=1000次,第三个参数是定时器预分频系数,将TIM挂的时钟分频,这里7199一样要加一,预分频系数就是7200,那么你的分频时钟就是72MHz/7200 = 10KHz,计数次数是1000次,计数时间就是1000/10KHz = 0.1s会触发一次定时器溢出中断。;计数精度的0.1ms。 参考技术A 999是装载值,7199是预分频系数,72M%(999+1)%(7199+1)=10HZ,即10次/s,timer_init(TIM2,99,7199);实现的是100次/s。 参考技术B 以前接触过别的单片机吗?比如51,AVR,PIC还是直接就上手STM32的追问

以前没接触过别的单片机。
就简单看了看stm32的芯片手册,算是直接上的吧 ,现在要我取到传感器数据传输时候某一条数据的系统时间 ,不知道怎么弄,有人建议用定时器,不太懂所以问一下,研究研究

以上是关于stm32 定时器中预分频系数是啥作用? 72MHz 想要让定时器 100次/s 该怎么写配置代码?的主要内容,如果未能解决你的问题,请参考以下文章

STM32的APB时钟预分频数到底是怎么确定的?AHB的频率到底是72MH还是啥是有啥决定的?

1.8ms计时,分频值是多少

STM32定时器的两个小难点

STM32定时器参数设置(TIM_PrescalerTIM_Period)

STM32学习笔记-定时器PWM与输入捕获

stm32定时器tim6tim7,对定时时间的设置与哪些寄存器有关