STM32 定时器

STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。 

三种定时器

     注:DMA是不通过CPU直接访问和操作寄存器的一种方式。

定时器原理框图

 

特点:

1. 时钟可以从低速的APB1总线上(APB1)获得(共4种获得方式,可以有8种时钟)

2. 16 位向上、向下、向上/向下(中心对齐)计数模式(TIMx_ARR),自动装载计数器(TIMx_CNT);

3. 16 位可编程(可以实时修改)预分频器(TIMx_PSC);

4. 4 个独立通道(TIMx_CH1~4),这些通道可以用来作为: 
         输入捕获 
         输出比较
         PWM 生成(边缘或中间对齐模式) 
         单脉冲模式输出 

5. 可使用外部信号(TIMx_ETR)控制定时器和定时器互连(可以用 1 个定时器控制另外一个定时器)的同步电路;---定时器级联

6. 可产生DMA中断;

 

计数器时钟可以由下列时钟源提供:

    内部时钟(CK_INT)
    外部时钟模式1:外部输入脚(TIx)
    外部时钟模式2:外部触发输入(ETR)
   内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器。

 

内部时钟源计算方法:

 

定时器中断实现步骤:

    1.使能定时器时钟。
       RCC_APB1PeriphClockCmd();
    2.  初始化定时器,配置ARR,PSC。
      TIM_TimeBaseInit();
    3.开启定时器中断,配置NVIC。
      void TIM_ITConfig();
      NVIC_Init();
    4.  使能定时器。
      TIM_Cmd();
    5.  编写中断服务函数。
      TIMx_IRQHandler();

 

posted @ 2019-06-26 13:41  远处是风景  阅读(24)  评论(0)    收藏  举报