tim6的时钟是84mahez

2019-07-20 21:13发布

/* 定时器TIM6 */
    TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
    TIM_TimeBaseStructure.TIM_Period = 25;         
    TIM_TimeBaseStructure.TIM_Prescaler = 0;      
    TIM_TimeBaseStructure.TIM_ClockDivision = 0;   
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
    TIM_TimeBaseInit(TIM6, &TIM_TimeBaseStructure);
请问一下这你的定时器6的时钟是84Mhz,还是42MHz,产生的波形得到应该是84MHz,但是原子的教程里面的又有这么一段话,
因为系统初始化 SystemInit 函数里面已经初始化 APB1 的时钟为 4 分频,所
以 APB1 的时钟为 42M, 而从 STM32F4 的内部时钟树图( 图 4.3.1.1)得知:当 APB1 的时钟
分频数为 1 的时候, TIM2~7 以及 TIM12~14 的时钟为 APB1 的时钟,而如果 APB1 的时钟分频
数不为 1,那么 TIM2~7 以及 TIM12~14 的时钟频率将为 APB1 时钟的两倍。因此, TIM3 的时
钟为 84M,再根据我们设计的 arr 和 psc 的值,就可以计算中断时间了。
计算公式如下:
Tout= ((arr+1)*(psc+1))/Tclk;
其中:
Tclk: TIM3 的输入时钟频率(单位为 Mhz)。
Tout: TIM3 溢出时间(单位为 us)。
所以我想请大神解答一下?



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。