stm32F207 APB1输出最大时钟给TIMER3问题

2019-07-14 15:18发布

大家好,本人最近在编写F207定时器时(使用timer3,采用APB1总线).
问题描述:
(1)寄存器配置情况:
即此进,我对RCC_CFGR,不做任何配置(APB1:即PPRE1[2:0]为“000”。AHB:即HPRE[3:0],PLL作为系统时钟输出为120M)
(2)现象:
配置TIMER3,
120分频,溢出中断次数为1000,中断产生周期是1ms(APB1,未分频)。
(3)疑问:
按照芯片手册


PLLCLK = 120M; AHB 未分频;APBX未分频,从APBX出来的结果应该是120M,但由于APB1最大为30M,那么其输出到定时器最大时钟
应该最多为60M?
可是我查看溢出中断的波形分明为1ms,计数1000次,120分频计算的结果是120M.
请问如何达到120M, 给APB1 TIMER???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
键盘侠Alex
2019-07-16 06:31
本帖最后由 rabbit80 于 2016-7-27 15:27 编辑

兄弟,您说的这个时钟树,我在发帖前就早已读懂了,这一点请您不要怀疑我的能力。
我们的之间的分歧是:您没有读懂我的问题,而冒然回答,这样不太好吧!

pllclk = 120M,经过AHB(未分频),再APB1(4分频)出来30M, 再乘以2,得到60M.(这种初学者都能理解的知识,还请您不要再发了,谢谢)

如果您确实想帮我,就请您再认真读一下我的问题吧,万分感谢!!!

问题(再重复一下,请理解后,再作答,多谢):
PLLCLK = 120M, AHB(未分频), 再APB1(2分频或0分频,或1分频)。
理论值:
从APB1出来的理论值最大为30M, 如果0/1分频得到的最大值为60M,换句话说给TIM3最大的时钟为60M.
实际值:
通过查看示波器,发现TIM3的实际时钟可以达到120M.

总述:二楼的兄弟写了(60M*2),这里是有点疑问,时钟树上给TIM3的最大值就是60M(是由最大30M*2=60M),不可能再乘以2.除非定时器TIM3内部又作了倍频,否则不可能达到120M,目前的资料上没有看到TIM3内部再倍频之说,这才是我的疑问所在,还请兄弟们发点有价值的贴子哦,万分感谢!

一周热门 更多>