stm32——定时器级联

在STM32当中扩展定时范围:单个定时器的定时长度可能无法满足某些应用的需求。通过级联,可以实现更长时间的定时;提高定时精度:能够在长定时的基础上,通过合理配置,实现更精细的定时控制;处理复杂定时任务:适用于需要多个不同定时阶段或复杂定时顺序的应用场景,方便实现更复杂的定时逻辑。换句话说,在STM32当中,我们所应用到的定时器都是16位的定时器,那么怎么提高时钟的精度,改为32位的定时器,这个问题就出来了。举个例子,以频率计为例,我只用只用一个时钟源作为计数器,它顶到天了,也就只能计数到65535(2^16-1)。而你将两个计数器级联之后,我们就有了一个32位的计数器,当我们的主计数器计完数之后,发生中断的时候,从计数器计一个数。周而复始,依此类推。所得到的频率也就越广越精。经过试验,使用TIM2和TIM3作为主从计数器,能测到0.0167Hz~400kHz。而单用TIM3在1kHz以下误差就很差了。

那怎么级联呢?大家可以通过参考手册里面有个详细的原理框图。如下图。
主从定时器级联原理框图

在 STM32 中,主从计数器的运行原理主要是通过主定时器的事件来控制从定时器的操作。主定时器通常按照自身的配置进行计数和产生相关事件,比如更新事件。从定时器则可以设置为响应主定时器的特定事件,如在主定时器更新时开始计数、停止计数、复位计数等。这种主从配置的优势在于能够实现更复杂和精确的定时控制。例如,可以通过主定时器的长周期定时来触发从定时器的短周期操作,从而在不同的时间尺度上协同工作。具体来说,主定时器的计数模式、时钟源、预分频系数、自动重载值等决定了其定时周期和产生事件的时机。从定时器根据主定时器的事件以及自身的配置进行相应的动作。例如,将 TIM2 设为主定时器,TIM3 设为从定时器,并配置 TIM3 在 TIM2 产生更新事件时开始计数。这样,TIM2 的定时周期结束产生更新事件,触发 TIM3 开始计数,实现了主从协同工作。这种主从模式的配置为实现多样化的定时需求提供了灵活的手段,适用于各种需要复杂定时逻辑的应用场景。

配置定时器1为主模式,它可以在每一个更新事件UEV时输出一个周期性的触发信号。在 TIM1_CR2寄存器的MMS='010'时,每当产生一个更新事件时在TRGO1上输出一个上升沿信号。连接定时器1的TRGO1输出至定时器2,设置TIM2_SMCR寄存器的TS='000',配置定时器2 为使用ITR1作为内部触发的从模式。然后把从模式控制器置于外部时钟模式1(TIM2_SMCR寄存器的SMS=111);这样定时器2即可由定时器1周期性的上升沿(即定时器1的计数器溢出)信号驱动。最后,必须设置相应(TIMx_CR1寄存器)的CEN位分别启动两个定时器。这里在TRGO1和ITR1这两个参数是重要的地方,它们就像钥匙和门一样,钥匙是"TRGO1",门是ITR1。只有两个都通了,时钟才能级联。程序就是下面这几句,这里我用的是TIM2作为主时钟,TIM3作为从时钟。

那么完整的时钟配置程序会是什么样的呢?

那么换其他的主从定时器怎么办呢?这就得继续调整参数TIM_TS_ITRx了,这里参考手册里面有个表格供大家参考。

好了,今天的STM32就聊到这里,大家多练多消化。反正我就单纯换了个主从顺序就晕晕乎乎换了半天。我的天啊!

欲知后事如何,且听下回分解。OVO......

相关推荐
xu_wenming3 小时前
嵌入式软件架构中的6种解耦艺术
c语言·驱动开发·嵌入式硬件·架构
sramdram3 小时前
国产32位mcu微控制器高速风筒方案
单片机·嵌入式硬件·32位mcu·mcu微控制器·国产32位mcu
单片机仿真设计3 小时前
【proteus仿真】基于STM32单片机直流电机控制设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
天空'之城3 小时前
单片机基础核心知识点汇总(十八)
单片机·嵌入式硬件
736c4 小时前
STM32-看门狗 10
stm32·单片机
虎王物联4 小时前
工业Modbus TCP协议深度实战:STM32 HAL库实现从机通信与数据上云
stm32·物联网·网络协议·tcp/ip·嵌入式
luiyarch4 小时前
汽车电子ISO 26262功能安全系列(第17期):系统集成与测试——验证系统级安全机制
嵌入式硬件·安全·车载系统·汽车
DevHub7 小时前
CANopen 教程:STM32 实现 CANopen 从站,3 个回调替代手写对象字典
c语言·驱动开发·stm32·单片机·嵌入式硬件·mcu
单片机仿真设计9 小时前
【proteus仿真】基于 STM32 农业大棚巡检小车 (仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
Hello_Damon_Nikola11 小时前
AiP9M161个人护理产品方案从设计到实现
单片机·嵌入式硬件