STM32F103定时器时钟分频后为什么时钟频率不变

2019-03-23 14:51发布

今天看到一个博客写如下:

假设 系统时钟是72Mhz,TIM1 是由PCLK2 (72MHz)得到,TIM2-7是由 PCLK1 得到

关键是设定 时钟预分频数,自动重装载寄存器周期的值

/*每1秒发生一次更新事件(进入中断服务程序)。RCC_Configuration()的SystemInit()的

RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2表明TIM3CLK为72MHz。因此,每次进入中

断服务程序间隔时间为

时间=1/频率×次数

((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+7199)/72M)*(1+9999)=1秒 */


我不懂的一句话是“RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2表明TIM3CLK为72MHz”
明明写着2分频,怎么还是72MHZ,请大神解答。


此帖出自小平头技术问答  

8条回答
ddllxxrr
1楼 · 2019-03-23 21:58.采纳回答
 精彩回答 2  元偷偷看…… 0人看过
ddllxxrr
2楼-- · 2019-03-23 23:07
那么网上有说错的,有的说2分频正好是36MHZ,也不知道是怎么学地,害得我也中计了
zhuzd
3楼-- · 2019-03-24 02:02
有问题还是先看datasheet.现在网上东西一大堆只会复制粘贴的。
RCSN
4楼-- · 2019-03-24 02:30
 精彩回答 2  元偷偷看……
ienglgge
5楼-- · 2019-03-24 02:55
这种情况,就不要看字面含义了。宏定义,那些乱七八糟的,都一步一步反推。推到寄存器赋值。和手册上寄存器说明一对照。就清楚了。
Li_Lei
6楼-- · 2019-03-24 07:43
好多年前也被这个问题困扰过,那时候还没有cube,手册也没说明白,后来就那样了72M不是挺好.
ddllxxrr
7楼-- · 2019-03-24 08:52
 精彩回答 2  元偷偷看……

一周热门 更多>