STM32—TIM定时器(定时中断)

TIM是一种内置计时器模块,适用于时间测量、事件计数和PWM生成。它支持基本、通用和高级定时器类型,具备预分频器、计数器和自动重装载寄存器功能。时钟源可以是内部或外部,且有多种计数和中断模式。此外,还涉及了计数频率和溢出频率的计算公式。
摘要由CSDN通过智能技术生成

TIM(Timer):

  • 是一种内置的计时器模块,用于时间测量、事件计数和PWM生成等应用的硬件资源
  • 对输入的时钟进行计数,并在计数值达到设定值时触发中断
  • 可以通过外部时钟源或内部时钟源进行配置,支持多种计时模式,提供了多达4个不同的计数通道和多个输入捕获和输出比较功能。

定时器类型:

  • 基本定时器:可以作为简单的计时器使用,可用于定时操作。
  • 通用定时器:可用于高级定时操作,例如测量脉冲宽度、脉冲周期等。
  • 高级定时器:具有更多高级的定时功能,例如输入捕获、输出比较、PWM输出等。

框图详解:

        基本定时器:

  1.  内部时钟(CK_INT): 频率值为系统主频——72MHz
  2. PSC预分频器 :PSC 是16 位的预分频器,输出频率 = 输入频率 / PSC写入值+1 
  3. CNT计数器 :  计数模式为向上计数,存储计数预分频后的计数时钟的数量,最大计数值为 65535
  4. 自动重装载寄存器 :存计数器的计数的计数目标,当计数值=目标值,产生中断信号,并清零计数器。

时钟源:

        

  1. 内部时钟(CK_INT): 外设总线APB提供的时钟。
  2. 外部时钟模式:外部输入脚(TIx),来着定时器通道1或通道2的引脚信号
  3. 外部时钟模式:外部触发输入(ETR),来着可复用为TIMx_ETR的IO口
  4. 内部触发输入(ITRx) : 用于与其他定时器级联

公式:

  • 计数器计数频率:CK_CNT = CK_PSC / (PSC + 1)
  • 计数器溢出频率:CK_CNT_OV = CK_CNT / (ARR + 1)

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

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值