STM32F407ZGT6学习之基本定时器

工程代码:https://pan.baidu.com/s/1Qlfg1_br0tN6yy0fcDwCjg,密码:fhh2

(一)概述

    STM32基本定时器实现基本的计时功能,通过相应的配置,实现微妙、毫秒级的定时和计数。

1、定时器框架

    从图中可以看出,定时器时钟输入到定时器的触发控制器中,在通过"PSC预分频器“分频之后,周期性的使计数器CNT累加或者累减。当计算器CNT计算发生上溢或者下溢时,产生一个更新事件,标志一次计时周期到。

STM32F407ZGT6学习之基本定时器_第1张图片

2、基本定时器的概念

2.1输入时钟频率

    RCC的系统时钟为168M,而APB1总线上的时钟为系统时钟的1/4为42M,而当APB1总线上的时钟是由系统时钟多分频得到的时候,定时器的时钟=APB1总线时钟*2=84M。

    STM32F407ZGT6学习之基本定时器_第2张图片

 2.2、定时器的计数方式

    定时器时钟输入信号后,通过预分频器分频后,将驱动计数器进行计数。计数有两种模式,第一种是向上计数,计数器从0开始累加,当计数值等于TIM_ARR寄存器中的值时,产生一个更新事件;第二种是向下计数,计数器从TIM_ARR寄存器中的值开始累减,当计数值等于0时,产生一个更新事件。

3、寄存器介绍

STM32F407ZGT6学习之基本定时器_第3张图片

①TIM_CR1寄存器主要配置定时器的循环计数、使能等操作

②TIM_CR2寄存器暂时不管

③TIM_DIER定时器是定时器的中断使能位

④TIM_SR是定时器的更新中断标志位,当计数发生上溢或者下溢时,该位将被置1,标志一次计数完成。

⑤TIM_EGR通过软件方式产生一次事件更新

⑥TIM_CNT时定时器的计数器,当定时器时钟经过预分频器之后产生一次脉冲时,CNT将计数一次

⑦TIM_PSC是预分频器,把定时器时钟分频之后,再输出给计数器。

⑧TIM_ARR是定时器的自动重载寄存器。当定时器采用向上计数时,当CNT计数值等于TIM_ARR时,将产生一个更新事件,通过把CNT清零重新计数;当定时器采用向下计数时,最开始将TIM_ARR的值赋给CNT,CNT向下累减为0时,将产生一个更新事件,再次将TIM_ARR的值赋给CNT进行新一轮的向下计数。

你可能感兴趣的:(STM32驱动摸索学习)