深入解析STM32定时器中断功能及工作原理

目录

  • 三种定时器的区别
  • 通用定时器功能特点的描述
  • 时基单元
  • 计数器模式
  • 时钟选择
  • 实验:定时器中断
  • 三种定时器的区别

    定时器

    通用定时器功能特点的描述

    STM32的众多定时器中我们使用最多的是高级定时器和通用定时器,而高级定时器一般也是用作通用定时器的功能,下面我们就以通用定时器为例进行讲解,其功能和特点包括:

  • 通用与基本定时器(2~7)位于低速的APB1总线上

  • 高级定时器(1、8)位于高速的APB2总线上

  • 自动装载计数器(TIMx_CNT)有16 位向上、向下、向上/向下(中心对齐)计数模式。

  • 预分频器(TIMx_PSC)是16 位可编程(可以实时修改)的,计数器时钟频率的分频系数由它设置,可以为 1~65535 之间的任意数值。

  • 每个定时器都有4个独立的通道,这4个通道与相应的引脚一一对应可以查表

  • 4 个独立通道(TIMx_CH1~4),这些通道功能可以用来作为:

  • 输入捕获
  • 输出比较
  • PWM 生成(边缘或中间对齐模式)
  • 单脉冲模式输出
  • 可使用外部信号(TIMx_ETR)控制定时器和定时器互连(可以用 1 个定时器控制另外一个定时器)的同步电路。

  • 如下事件发生时产生中断/DMA(6个独立的IRQ/DMA请求生成器): (前4件用的比较多)

  • 更新中断(TIM_IT_Update):计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
  • 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
  • 输入捕获
  • 输出比较
  • 支持针对定位的增量(正交)编码器和霍尔传感器电路
  • 触发输入作为外部时钟或者按周期的电流管理
  • STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。

  • 使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。

  • 时基单元

    时基单元包含:

  • 计数器寄存器(TIMx_CNT) :不断计数
  • 预分频器寄存器 (TIMx_PSC) :分频系数
  • 自动装载寄存器 (TIMx_ARR):装载值
    1
  • 计数器模式

  • 向上计数模式(从0到ARR的值)
  • 向下计数模式(从ARR的值到0)
  • 中央对齐模式(向上/向下计数) (在中央对齐模式,计数器从0开始计数到ARR寄存器−1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器下溢事件;然后再从0开始重新计数。)
    计数模式
  • 时钟选择

    计数器时钟可由下列时钟源提供:两个内部时钟、两个外部时钟

  • 内部时钟(CK_INT)(用的最多)
  • 外部时钟模式1:外部输入脚(TIx),定时器下通道输入捕获捕获的信号
  • 外部时钟模式2:外部触发输入(ETR),外部IO口输入的时钟信号
  • 内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器(仅2.3.4定时器有)。参见14.3.15
  • 基本定时器的功能只占通用定时器的一部分,所以学习基本定时器比较简单易上手,新手先看参考手册的基本定时器章节。
    先掌握基本定时器是最佳的选择。

    定时器

    计算定时器时钟频率(两个总线频率不同)以APB1为例:
    如果AHB=72M,APB1由AHB分频可得不同的频率72/1,72/2,72/4,72/8,72/16。
    PCLK1最大为36M不能1分频(这里不会用到它)
    TIMxCLK的值由APB1决定,APB1=AHB/1时,TIMCLK=APB1;APB1=AHB/2、4、8、16时,TIMCLK=APB1×2=AHB/2、4、8、16×2。
    例AHB=72,APB1=72,则TIMCLK=72
    例AHB=72,APB1=36,则TIMCLK=72÷2×2

    时钟

    实验:定时器中断

    例:计算溢出时间每500ms产生更新中断
    Tout=(ARR+1)÷[(TIMCLK)÷(PSC+1)]
    例500ms=(4999+1)÷[(72M)÷(7199+1)]

    与中断有关的位:UIF位、UIE位

    UIE

    物联沃分享整理
    物联沃-IOTWORD物联网 » 深入解析STM32定时器中断功能及工作原理

    发表评论