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-15 11:02
嘻嘻爱哈哈 发表于 2018-12-11 15:21
接2楼,APB1 Timer 时钟取最高60MHz,TIMER3  120分频,溢出中断次数为1000。

F=(60M*2)/(119+1)/(999+1)=1kHz

TIMx_PSC=120;这个是预分频参数;重计数周期为1000,根据输出波形发现是1ms;
根据计算公式如下:
Tout=((arr+1)*(psc+1))/Tclk 得出Tclk = 120M;

看您的回复中
F=(60M*2)/(119+1)/(999+1 ...
我有点不明白60M为什么还要再乘以2;因为系统乘2,在APB1输出到TIMER3的时候,已经做过了。

一周热门 更多>