定时器--

TIM(Timer)定时器

  1. 定时器可以对输入的时钟进行计数,并在计数器达到设定时触发中断。
  2. 对基准时钟技术的过程,实际上就是计时的过程。
  3. 可以将定时器当做一个计数器

在STM32中,定时器的基准时钟一般是主频72MHz,对72MHz计72个数,1MHz就是1us的时间,计72000个数,1KHz就是1ms的时间。

解释为什么72个72MHz就是1MHz。
72MHz = 1/72000,000 * 72 =1/1000,000 s = 1MHz = 1us

  1. 16位计数器(计数定时器),预分频器(对计数器时钟进行分频,让计数更加 灵活),自动重装寄存器(计数目标值,计多少个时钟申请中断)的时基东单元,在72MHZ计数器时钟下可以实现最大59.65s 的定时。

最大定时为56.65s
最大定时=(预分频系数*最大自动重装树)/ 72M

GPT的知识

STM32的定时器最大定时时间的计算取决于几个关键参数:定时器的时钟频率(Timer Clock Frequency)、预分频系数(Prescaler)、以及自动重装载寄存器(Auto-Reload Register, ARR)的值。

假设我们使用的是一个 16 位的定时器。让我们逐步计算最大定时时间:

  1. 定时器时钟频率:这通常是系统时钟频率(SYSCLK)或系统时钟的一部分。假设定时器时钟频率是 72 MHz(这是一个常见的值,但具体取决于你的STM32型号和配置)。

  2. 预分频系数:预分频器(Prescaler)可以将时钟频率降低。预分频器的值可以从 0 到 65535(16 位),但实际预分频系数是 Prescaler + 1。最大预分频系数是 65536。

  3. 自动重装载寄存器(ARR):ARR的值决定了定时器的计数范围。对于 16 位定时器,ARR的最大值是 65535。

这就是为什么你看到最大定时时间约为 59.65 秒。这是因为我们假设了72 MHz的定时器时钟频率,并且使用了最大预分频器值和最大ARR值。

如果你有不同的定时器时钟频率或预分频系数,最大定时时间也会相应变化。
6. 不仅具备基本的定时中断功能,而且包含外时钟源选择、输入捕获(测量方波频率
7. ),输出比较(PWM),编码器接口,主从触发模式等多 种功能。
8. 根据复杂度和应用场景分为高级定时器,通用定时器,基本定时器三种类型

在这里插入图片描述
STM32F103C8T6 定时器资源 : TIM1 , TIM2, TIM3, TIM4

在这里插入图片描述
只支持 向上计数器
在这里插入图片描述
支持 向上。向下计数功能

GPT 描述

STM32的通用定时器(General-purpose Timer, TIM)框图展示了定时器的主要组成部分及其功能模块。以下是对该框图的简要描述:

  1. 时钟输入与预分频器

    • 来自RCC的TIMxCLK:定时器时钟输入,通常来自系统时钟。
    • ETR(外部触发输入):可以选择作为定时器时钟的外部信号源,通过边沿检测和预分频器处理。
    • PSC(预分频器):对输入时钟进行分频,从而降低时钟频率,以适应不同的定时要求。
  2. 计数器和自动重装载寄存器

    • CNT(计数器):核心的计数单元,可以进行加/减计数。
    • ARR(自动重装载寄存器):当计数器达到ARR值时,会重新加载计数器,实现周期性计数。
  3. 输入捕获和输出比较

    • IC1, IC2, IC3, IC4(输入捕获单元):捕获输入信号的时间,用于测量脉冲宽度、频率等。
    • OC1, OC2, OC3, OC4(输出比较单元):生成PWM信号或其他波形,用于输出控制。
  4. 模式控制和触发器

    • TRGI, TRGO(触发输入/输出):用于与其他定时器或外部设备同步。
    • SLAVE模式控制器:支持从模式,实现与主定时器同步工作。
  5. 编码器接口

    • TI1FP1, TI2FP1:用于连接编码器,进行位置或速度测量。
  6. 中断和事件

    • TIF, UIF:产生中断或事件信号,用于响应定时器溢出、捕获事件等。
  7. 输出控制

    • OC1REF, OC2REF, OC3REF, OC4REF:输出比较的参考信号。
    • 输出控制逻辑:控制实际的定时器输出信号(TIMx_CHx)。

框图展示了定时器的整体架构,定时器通过多种输入源和预分频器获取时钟信号,计数器和自动重装载寄存器实现周期性计数,通过输入捕获和输出比较模块进行信号的捕获和生成,同时可以与其他外部设备进行同步和通信。
在这里插入图片描述

预分频时序

在这里插入图片描述
在这里插入图片描述

计数器时序

在这里插入图片描述
在这里插入图片描述

计数器无预装载时序

在这里插入图片描述

计数器有预装载时序

在这里插入图片描述

RCC时钟树

在这里插入图片描述

  • 30
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
S7-1200的定时器分为功能框定时器和线圈型定时器。功能框定时器是IEC类型定时器,集成在CPU操作系统中,包括脉冲定时器(TP)、通电延时定时器(TON)、断电延时定时器(TOF)和时间累加器定时器(TONR)等类型。 脉冲定时器(TP)是一种触发型定时器,当输入信号的上升沿触发时,输出Q同步置1。无论输入信号如何变化,输出Q的状态都不受影响。启动定时器后,无论使能端的状态如何变化,输出Q都会置位一段预设的时间,该时间由PT参数指定。即使在定时器计时过程中检测到使能端的信号从OFF变为ON,输出Q的状态也不会受到影响。 通电延时定时器(TON)是一种持续触发型定时器,需要持续的触发输入信号,当经过设定的PT时间后,输出Q同步置1。持续触发输入信号是指在设定的PT时间内,只要输入信号保持为1,定时器就会一直计时。 断电延时定时器(TOF)是一种中断型定时器,当输入信号中断后,经过设定的PT时间后,输出Q同步置0。只要输入信号为1,输出Q就会保持为1,当输入信号变为0时,定时器开始计时,经过设定的PT时间后,输出Q置0。在任意时刻,只要输入信号为1,定时器会立即停止计时并回到0。 这些定时器可以根据用户的需求在S7-1200的用户程序中使用。定时器的数量仅受CPU的存储器容量限制。为了使用定时器,用户需要使用定时器相关的背景数据块或者数据类型为IEC_TIMER(或TP_TIME、TON_TIME、TOF_TIME、TONR_TIME)的DB块来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值