STM32定时器更新事件可以暂停否?

本文探讨了在STM32定时器输出比较功能中,如何同步更新多个通道的CCR值,以避免不同通道的新值分散在不同计数周期生效。通过关闭更新事件允许,然后一次性写入所有新值或利用DMA Burst传输,可以实现通道参数的同步修改。
摘要由CSDN通过智能技术生成

            

d023b4d0eeb643094fa7f7784985fdd3.jpeg


有人使用STM32的定时器的输出比较功能,具体就是输出4个通道的PWM信号。不过 他需要不定时地调整4个通道的占空比,即调整他们的CCR值。但现在有个小问题,那就是新的CCR值的获得往往会能跨越多个目前定时器的计数周期,这样的话,即使开启各个通道CCR值的预装功能,似乎也很保证做到一次性修改。因为它希望新的CCR值被同时更新。换句话说,他担心不同通道新的CCR值分散在不同计数周期生效,可能给应用带来些麻烦。

我们知道,STM32定时器的预装寄存器的值到影子寄存器的更新往往离不开更新事件。一般来讲,只要启动了定时器,更新事件会随着计数器的溢出而自然产生。

既然这样,比方若是在下面四个时刻获得了新的CCR值,有没有办法让这几个值同时实施更新,而不是分布在不同时刻生效呢?

eb342627e364432c567134f16fb32980.png

其实是可以的。有两种方法可以参考,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值