STM32 定时器简介

STM32 定时器简介

  • 定时器简介
    • 定时器类型
    • 基本定时器
      • 预分频器PSC(16位)
      • 计数器CNT(16位)
      • 自动重装寄存器ARR(16位)
      • 计数器溢出频率
    • 通用定时器
      • 内外时钟源选择与主从触发模式选择
    • 高级定时器
    • 定时器中断基本结构

本文是STM32学习笔记,方便后续复习,学习视频是b站江科大STM32学习教程 TIM定时中断

定时器简介

  • 可以对输入的时钟进行计数,并且在数值达到设定值时触发中断
  • 16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟可以实现最大的59.65s的定时
  • 不仅具备基本定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能
  • 分为高级定时器、通用定时器、基本定时器

定时器类型

STM32 定时器简介_第1张图片
STM32F103C8T6定时器资源:TIM1、TIM2、TIM3、TIM4

基本定时器

STM32 定时器简介_第2张图片

  • 预分频器PSC、自动重装寄存器ARR、计数器CNT构成了时基单元
  • 预分频器之前连接基准计数时钟的输入
  • 基本计时器只能选择内部时钟RCC_TIMxCLK 72MHz

预分频器PSC(16位)

  • 对输入的基准时钟进行预分频,写0,不分频(1分频)输出频率 = 输入频率;写1,2分频,输出频率 = 输入频率 / 2 = 36MHz;以此类推
  • 在计数中改变PSC时,不会立即生效,在本轮计数结束后才会生效

计数器CNT(16位)

  • 对预分频后的时钟进行计数,每来一个上升沿计数器+1,在计时过程中不断自增运行
  • 当计数值达到目标值时产生中断信号和更新事件(更新中断),并且清零计数器,计时器自动开始下一次的计数计时
  • 基本定时器只能向上计数

自动重装寄存器ARR(16位)

存储计数目标值,计数器达到计数目标值就会产生中断

计数器溢出频率

CK_CNT_OV = CK_CNT / (ARR + 1)
= CK_PSC / (PSC + 1) / (ARR + 1)

通用定时器

STM32 定时器简介_第3张图片
通用定时器和高级定时器的CNT计数器可以向上计数,向下计数(从自动重装值自减到0产生中断)和中央对齐计数(从0自增到自动重装值产生中断再自减到0再次产生中断)

内外时钟源选择与主从触发模式选择

STM32 定时器简介_第4张图片
时钟源不仅可以选择内部72MHz,还可以选择外部时钟TIMx_ETR、ITRx(其他定时器的TRGO)

高级定时器

STM32 定时器简介_第5张图片

定时器中断基本结构

STM32 定时器简介_第6张图片

你可能感兴趣的:(STM32学习笔记,stm32,嵌入式硬件,单片机)