当前位置:   article > 正文

【STM32】HAL库-基本定时器_定时器主从模式记录定时器更新事件次数

定时器主从模式记录定时器更新事件次数

简介

基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。它们可以作为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟。实际上,它们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。这2个定时器是互相独立的,不共享任何资源。
在这里插入图片描述

在这里插入图片描述

寄存器

软件可以读写计数器CNT、自动重装载寄存器ARR和预分频寄存器PSC,即使计数器运行时也可以操作。

  • 当前计数值寄存器CNT
    向上计数可随时修改

  • 自动重装载寄存器ARR
    可随时修改,具有影子寄存器,根据TIMx_CR1寄存器中的自动重装载预加载使能位(ARPE),写入ARR寄存器的内容能够立即或在每次更新事件(UEV)时,传送到它的影子寄存器。真正起作用的是其影子寄存器
    在这里插入图片描述

  • 预分频寄存器PSC
    可随时修改,具有影子寄存器,具有缓冲,新的预分频数值将在下一个更新事件时起作用(发生更新事件(UEV)时才将值传送到其影子寄存器中)。

更新事件UEV的使能与来源

  • 更新事件UEV的使能位
    TIMx_CR1寄存器的UDIS位
    在这里插入图片描述
    UDIS位为0则将不再产生更新事件,但计数器和预分频器的计数器依然会在应产生更新事件时重新从0开始计数
    UDIS位为1,当发生一次更新事件时所有影子寄存器会被更新
  • 更新事件UEV的来源
    更新中断和DMA请求的来源
    TIMx_CR1寄存器的URS位
    在这里插入图片描述

时钟源

定时器由内部时钟(CK_INT)提供。
内部时钟向预分频器PSC提供时钟,并不向CNT寄存器提供时钟。
CK_PSC = CK_INT
CNT计数器的时钟由CK_CNT提供,CK_CNT的时钟频率等于fCK_PSC/(PSC[15:0]+1)

软件触发更新事件

写入事件产生寄存器TIM_EGR寄存器的UG位
置位UG位则产生更新事件
设置UG位可以产生一次更新事件UEV,但不设置UIF标志(即没有中断或
DMA请求)。

在这里插入图片描述

主从模式-DAC的外部触发转换

前面介绍,基本定时器内部连接DAC,可为DAC提供基准时钟。
如果配置DAC的转换由外部事件控制,则触发/产生外部事件时将进行一次DAC的转换。该外设事件可以为定时器计数器、外部中断线。
具体看下图
在这里插入图片描述
基本定时器可以产生TRGO事件
通过TIM_CR2寄存器的MMS位来选择TRGO事件的来源。
在这里插入图片描述

基本定时器没有从模式控制器,故只能作为主模式

STM32CubeMX配置
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/739192
推荐阅读
相关标签
  

闽ICP备14008679号