×
单片机 > 单片机程序设计 > 详情

STM32F030 定时器

发布时间:2020-06-01 发布时间:
|

TIM3介绍


TIM3主功能


功能介绍


定时器基本单元(功能图)

计数器模式


向上计数模式


计数器从0递增到auto-reload value,然后复位到0重新递增, 

同时产生一个overflow event。


向下计数模式


计数器从auto-reload value递减到0,然后复位到auto-reload value重新递减, 

同时产生一个underflow event。


中心对齐模式


计数器从0递增到auto-reload value-1,此时产生一个overflow event; 

然后从auto-reload value递减到1,此时产生一个underflow event; 

然后复位到0重新递增。


时钟源


定时器时钟源可以是以下几种之一:


Internal clock (CK_INT)

External clock mode1: external input pin (TIx)

External clock mode2: external trigger input (ETR)

Internal trigger inputs (ITRx): using one timer as prescaler for another timer

捕获/比较通道


输入捕获模式


PWM输入模式


强制输出模式


输出比较模式


PWM模式


单脉冲模式


在一个外部事件时清除OCxREF信号


编码器接口模式


定时器输入XOR功能


定时器和外部触发器同步


定时器同步


调试模式


TIM3寄存器


定时器初始化示例:


    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;

    /* Time base configuration */

    TIM_TimeBaseStructure.TIM_Period = 65535;

    TIM_TimeBaseStructure.TIM_Prescaler = 0;

  /*CK_CNT = f(CK_PSC)/(TIM_Prescaler+1)*/

    TIM_TimeBaseStructure.TIM_ClockDivision = 0;

  /*tDTS = TIM_ClockDivision*tCK_INT (dead-time and sampling clock)*/

    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

    TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);


定时器结构体解释:


typedef struct

{

  uint16_t TIM_Prescaler;         /*定时器时钟分频器:0x0000~0xFFFF*/


  uint16_t TIM_CounterMode;       /*计数模式*/


  uint32_t TIM_Period;            /*定时周期,取值范围:0x0000~0xFFFF*/ 


  uint16_t TIM_ClockDivision;     /*!使用数字滤波器时设定定时器时钟和采样时钟间的分频比*/


  uint8_t TIM_RepetitionCounter;  /*!This parameter is valid only for TIM1. */

} TIM_TimeBaseInitTypeDef;  


定时器工作模式


输入捕获模式


输入捕获模式可以用来测量脉冲宽度或者测量频率。 STM32的定时器,除了TIM6和 TIM7,其他定时器都有输入捕获功能。 STM32的输入捕获,简单的说就是通过检测 TIMx_CHx 上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA 等。 


比如使用TIM2_CH1来捕获高电平脉宽,也就是要先设置输入捕获为上升沿检测,记录发生上升沿的时候 TIM2_CNT的值。然后配置捕获信号为下降沿捕获,当下降沿到来时,发生捕获,并记录此时的TIM2_CNT值。这样,前后两次TIM2_CNT之差,就是高电平的脉宽,同时 TIM2的计数频率我们是知道的,从而可以计算出高电平脉宽的准确时间。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析