当前位置:首页 > 单片机 > 单片机
[导读]在STM32F1系列中,其中定时器TIM1、TIM8是挂在在APB2上的,而定时器TIM2、3、4是关在在APB1上的。在工程中我们一般设置APB1CLK = 36M APB2CLK = 72M但是为什么这几个定时器在计算定时时间的时候都是使用72M进行计算呢

在STM32F1系列中,其中定时器TIM1、TIM8是挂在在APB2上的,而定时器TIM2、3、4是关在在APB1上的。

在工程中我们一般设置APB1CLK = 36M APB2CLK = 72M

但是为什么这几个定时器在计算定时时间的时候都是使用72M进行计算呢?

在时钟树上我们可以看到,定时器不是单纯的挂在在APB时钟源上的,而是经过了一个倍频器,而这个倍频器的倍频值受APBx时钟相对AHB的分频系数控制的,分频系数为1则x1,其他则x2


拿我们上面的时钟配置来说,AHB=72M APB1CLK =36M,是一个二分频的关系,这个时候就是触发倍频器x2

这样挂在APB1上的定时器的时钟源就是 36M*2 ,也就是说定时器2、3、4的时钟源也是72M

而APB2CLK相对于AHBCLk分频系数为1,则倍频器x1 时钟应该为72M*1,也就是定时器1、8的时钟源为72M


-------------------------------------------------------------------

上面主要解释了挂在不同频率的时钟线APBx上的定时器在计算的时钟,时钟源还是一样的 都是72M


当然,如果APB1CLK的时钟分频不是2,而是4 也就是 APB1CLK为18M的时候,这个时钟定时器2、3、4的时钟应该是18M*2 = 36M


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭