Skip to content

常规定时器

image-20250308020552536

基本定时器

定时器溢出;

  • 重新装载
  • 更新事件(默认产生)
  • 中断和DMA输出(需要自己配置)
  • 时钟源:定时器时钟 TIMxCLK,即内部时钟 CK_INT,经 APB1 预分频器后分频提供,如果APB1 预分频系数等于 1,则频率不变,否则频率乘以 2,库函数中 APB1 预分频的系数是 2,即PCLK1=36M,所以定时器时钟 TIMxCLK=36*2=72M
  • 计数器时钟:定时器时钟经过 PSC 预分频器之后,即计数器时钟 CK_CNT,用来驱动计数器计数。PSC 是一 个16 位的预分频器,可以对定时器时钟 TIMxCLK 进行 1~65536 之间的任何一个数进行分频。具体计算方式为:CK_CNT=TIMxCLK/(PSC+1)。
  • 计数器:计数器 CNT 是一个 16 位的计数器,只能往上计数,最大计数值为 65535。当计数达到自动重装载寄存器的时候产生更新事件,并清零从头开始计数
  • 自动充装载寄存器:自动重装载寄存器 ARR 是一个 16 位的寄存器,这里面装着计数器能计数的最大数值。当计数到这个值的时候,如果使能了中断的话,定时器就产生溢出中断

image-20250308021337127

image-20250308022115897

对齐和溢出

image-20250308022326807

image-20250308023013514

递增案例说明

  • PSC=2,重装载值ARR=36
  • 两个时钟周期计数+1
  • 到达36
    • 溢出,重新装在,计数归零
    • 产生更新2025年3月8日02:41:28
    • 中断标志变1

image-20250308023945445

溢出时间计算

image-20250308024408962

计数器计一个数的时间T0 = 1/CK_CNT;那溢出中断的时间就是T1 =T0*(ARR+1)

使用配置

image-20250308024547535