简单来说,基本定时器(TIM6,TIM7) 与时间相关的两个参数是 PSC 与 ARR.
代码如下,解释也在代码中。
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
// 开启TIMx_CLK,x[6,7]
RCC_APB1PeriphClockCmd( BASIC_TIM_CLK, ENABLE );
/*
累计 TIM_Period个后产生一个更新或者中断
当定时器从0计数到4999,即为5000次,为一个定时周期
*/
TIM_TimeBaseStructure.TIM_Period = 5000- 1;
/*
HCLK,提供给高速总线AHB的时钟信号; 16800 000 - 168MHZ
PCLK,提供给低速总线APB的时钟信号;
TIM6,7 挂载在APB1上, PCLK1 的时钟是 42M. 由RCC_GetClocksFreq(&RCC_Clocks) 取得
另
●
如果 RCC_DKCFGR 寄存器的 TIMPRE 位清 0:
如果 APB 预分频器分频系数是 1,则定时器时钟频率 (TIMxCLK) 为 PCLKx。否则,定
时器时钟频率将为 APB 域的频率的两倍:TIMxCLK = 2xPCLKx。
●
如果 RCC_DKCFGR 寄存器的 TIMPRE 位置 1:
如果 APB 预分频器配置分频系数是 1、2 或 4,则定时器时钟频率 (TIMxCLK) 将设置为
HCLK。否则,定时器时钟频率将为 APB 域的频率的四倍:TIMxCLK = 4xPCLKx。
现查看 rcc-dkcfgr , 此寄存器仅适用于 STM32F42xxx 和 STM32F43xxx 设备。
RCC 专用时钟配置寄存器 (RCC_DCKCFGR)
RCC_DCKCFGR_TIMPRE = ((uint32_t)0x01000000)
默认

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



