您现在的位置: 主页 > MCU > 单片机技术应用 > 关于STM32F4定时器时钟频率问题 -
本文所属标签:
为本文创立个标签吧:

关于STM32F4定时器时钟频率问题 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]从时钟树中我们可以得知(1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线(2)通用定时器timer2~timer5,通用定时器timer12~timer14以及基本定时器timer6,timer7的时钟来源


本文引用地址: http://www.21ic.com/app/mcu/201808/780767.htm

从时钟树中我们可以得知

(1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线
(2)通用定时器timer2~timer5,通用定时器timer12~timer14以及基本定时器timer6,timer7的时钟来源是APB1总线

从STM32F4的内部时钟树可知,

(1)当APB1和APB2分频数为1的时候,TIM1、TIM8~TIM11的时钟为APB2的时钟,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟;

(2)而如果APB1和APB2分频数不为1,那么TIM1、TIM8~TIM11的时钟为APB2的时钟的两倍,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟的两倍。

根据时钟分析,点击打开链接,可知

因为系统初始化SystemInit函数里初始化APB1总线时钟为4分频即42M,APB2总线时钟为2分频即84M,所以TIM1、TIM8~TIM11的时钟为APB2时钟的两倍即168M,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟的两倍即84M。

知道定时器的时钟源频率我们用定时器做延时就很方便了,只要设定合适的分频系数即可,附一下用中断实现延时的公式:(摘自原子的STM32F4开发指南)
Tout = ((arr+1)*(psc+1))/Tclk;
公式中psc就是分频系数,arr就是计数值,达到这个计数就会发生溢出中断,Tclk就是我上述分析的时钟源频率。




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 关于STM32F4定时器时钟频率问题 -
 

"关于STM32F4定时器时钟频率问题 -"的相关文章

网站地图

围观()