stm32f407 基本定时器 计算方法

简单来说,基本定时器(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)
    默认
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值