• STM32F334timer6-7


    概况

    基本计时器(TIM6/TIM7)功能包括:
    •16位自动重新加载递增计数器
    •16位可编程预分频器,用于将计数器时钟频率除以1和65535之间的任何因子(也可“动态”)
    •同步电路,用于触发DAC
    •更新事件时的中断/DMA生成:计数器溢出
    在这里插入图片描述

    时基单元可编程计时器的主要模块是一个16位递增计数器及其相关的自动重新加载寄存器。计数器时钟可以被预分频器分频。
    计数器、自动重新加载寄存器和预分频器寄存器可以由软件写入或读取。即使计数器正在运行,也是如此。
    时基单元包括:•计数器寄存器(TIMx_CNT)•预分频器寄存器(TIMx.PSC)•自动重新加载寄存器(TIMx-ARR)自动重新加载的寄存器是预加载的。每次尝试写入或读取自动重新加载寄存器时,都会访问预加载寄存器。根据TIMx_CR1寄存器中的自动重新加载预加载启用位(ARPE),预加载寄存器的内容被永久地或在每次更新事件UEV时转移到影子寄存器中。当计数器达到溢出值时,如果TIMx_CR1寄存器中的UDIS位等于0,则发送更新事件。它也可以由软件生成。针对每个配置详细描述了更新事件的生成。
    计数器由预分频器输出CK_CNT计时,仅当TIMx_CR1寄存器中的计数器启用位(CEN)被设置时才启用。
    注意,实际计数器使能信号CNT_EN在CEN之后被设置为1个时钟周期。

    预分频器描述

    预分频器可以将计数器时钟频率除以1到65536之间的任何因子,他基于通过16位寄存器(在TIMx_PSC寄存器中)控制的16位计数器。
    当TIMx_PSC控制寄存器被缓冲时,它可以被动态改变。在下一次更新事件中考虑新的预分频器比率。
    图311和图312给出了当预分频器比率动态变化时计数器行为的一些示例。
    在这里插入图片描述
    在这里插入图片描述

    计数模式

    计数器从0计数到自动重新加载值(TIMx_ARR寄存器的内容),然后从0重新启动并生成计数器溢出事件。
    可以在每次计数器溢出时或通过设置TIMx_EGR寄存器中的UG位(通过软件或使用从模式控制器)生成更新事件。
    通过设置TIMx_CR1寄存器中的UDIS位(UDIS:更新禁用),软件可以禁用UEV事件(更新事件)。这避免了在将新值写入预加载寄存器时更新影子寄存器。这样,直到UDIS位被写入0,才发生更新事件,然而,计数器和预缩放计数器都从0重新启动(但预缩放率不变)。此外,如果TIMx_CR1寄存器中的URS(该位由软件设置并清除,以选择UEV事件源。如果启用,会生成更新中断或DMA请求)位被设置,则设置UG位会生成更新事件UEV,但未设置UIF标志(因此不会发送中断或DMA请求)。
    当发生更新事件时,更新所有寄存器,并设置更新标志(TIMx_SR寄存器中的UIF位)(取决于URS位):
    •预分频器的缓冲区重新加载了预加载值(TIMx_PSC包含在每个更新事件时要加载到活动预分频器寄存器中的值。)
    •自动重新加载阴影寄存器使用预加载值更新(TIMx_ARRARR是要加载到实际自动重新加载寄存器中的值。)。
    下图显示了当TIMx_ARR=0x36时,不同时钟频率的计数器行为的一些示例。
    在这里插入图片描述
    ARPE自动重新加载预加载启用
    0:TIMx_ARR寄存器无缓冲。
    1: TIMx_ARR寄存器有缓冲
    在这里插入图片描述
    在这里插入图片描述
    UIF位重新映射
    TIMx_CR1寄存器中的IUFREMAP位强制将更新中断标志UIF连续复制到计时器计数器寄存器的位31(TIMxCNT[31])。这允许原子地读取计数器值和由UIFCPY标志发出的潜在翻转条件。在特定情况下,它可以通过避免例如由后台任务(计数器读取)和中断(更新中断)之间共享的处理导致的竞争条件来简化计算。
    UIF和UIFCPY标志的断言之间没有延迟。

    时钟

    计数器时钟由内部时钟(CK_INT)源提供。
    CEN(在TIMx_CR1寄存器中)和UG位(在TIMx_EGR寄存器中)是实际控制位,只能通过软件进行更改(UG保持自动清除除外)。一旦CEN位被写入1,预分频器就由内部时钟CK_INT计时。
    在这里插入图片描述

  • 相关阅读:
    【重铸Java根基】为什么Java中只有值传递
    Spring MVC框架
    Bicycles(变形dijkstra,动态规划思想)
    mysql高级学习(跟着尚硅谷老师周阳学习)
    JDK下载安装以及不同版本JDK在同一电脑上随意切换
    Spark 3.0 - 1.Spark 新特性简介与 WordCount Demo 实践
    反射技巧让你的性能提升N倍
    Infected Tree(树形dp)
    短链系统设计-存储设计
    三十二、【进阶】hash索引结构
  • 原文地址:https://blog.csdn.net/weixin_42914004/article/details/127941951