stm32f407定时器时钟频率的问题
2017-01-12 10:02
176 查看
从时钟树中我们可以得知(时钟树的图片可以直接参考6楼,感谢6楼xkwy补上的图):
(1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线
(2)通用定时器timer2~timer5,通用定时器timer12~timer14以及基本定时器timer6,timer7的时钟来源是APB1总线
从STM32F4的内部时钟树可知,当APB1和APB2分频数为1的时候,TIM1、TIM8~TIM11的时钟为APB2的时钟,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟;而如果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就是我上述分析的时钟源频率的倒数。
相关文章推荐
- 分享关于stm32f407定时器时钟频率的问题
- 如何解决AXI STREAM 时钟频率与是系统时钟频率不一样的问题
- 关于STM32F4定时器时钟频率问题
- 关于虚拟机中cpu时钟频率的问题
- 关于STM32F4的AHB和APB时钟频率的问题
- 时钟频率问题的解答
- QueryPerformanceCounter()查询时钟频率问题
- 关于quartus综合不出现时钟频率的问题<No paths to report.>
- 龙芯软件开发(20)-- 频率和初始化实时时钟
- 主板前端总线与CPU总线/内存频率问题 3者的关系
- 虚拟机中GUEST OS时钟(TIMEKEEP)问题的探讨 续
- 在VMWare中运行FreeBSD时的时钟同步问题
- 在VMWare中运行FreeBSD时的时钟同步问题
- 龙芯软件开发(20)-- 频率和初始化实时时钟
- 在VMWare中运行FreeBSD时的时钟同步问题
- 解决 VMware 下面 centos 时钟过慢或过快的问题
- 再谈JavaScript时钟中的16ms精度问题.
- 在VMWare中运行FreeBSD时的时钟同步问题
- javaScript时钟问题 (收藏学习)
- 再谈JavaScript时钟中的16ms精度问题.