当前位置:   article > 正文

STM32学习之路-不得不说的SysTick时钟

STM32学习之路-不得不说的SysTick时钟

SysTick时钟,俗称“嘀嗒定时器”,这家伙能按固定的时间产生一次中断,通常是多长时间产生一次中断呢?官方给出的一个时间是1ms

那么,它是怎么准确的产生1ms的呢.. 先来看看这家伙在时钟树的哪里吧


是它,是它,就是它,红色框里的东东,可以看到,它是由HCLK/8得到的,也就是:72MHz/8=9MHz

我们还能在STM32手册上找到这么一句话:系统嘀嗒校准值固定位9000,当系统嘀嗒时钟设为9MHz,产生1ms时间基准.

让我们来看看9000是怎么来的,这里要看下SysTick寄存器的配置了


当然,这个图截得真他妈丑..不过来是可以看到SysTick共有4个寄存器.下面的图盗自别人的博客的, = =  但是链接没法给出,说是禁止URL 真蛋疼




注意看上面的CTRL寄存器的CLKSOURCE位(时钟源位),它有两个选择,一个是内核时钟源FLCK(72MHz),一个是外部时钟源HCLK,这里应该是

分频以后的了,所以应该是HCLK/8(9MHz);注意这里,这里选不同的值,重装寄存器里的值也是不同的.到下面配置的时候再说说.

好,那么我们来解释下9000的固定校准值是怎么来的:

我们知道,我们设定一个计数,那么每次计数器减到0,时间经过了:系统时钟周期

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/755651
推荐阅读
相关标签
  

闽ICP备14008679号