STM32F407-14.3.2-03 中心对齐模式

中心对齐模式(递增/递减计数)


在中心对齐模式下,计数器从 0 开始计数到自动重载值(TIMx_ARR 寄存器的内容)— 1,生成计数器上溢事件;然后从自动重载值开始向下计数到 1 并生成计数器下溢事件。之后从 0 开始重新计数。
当 TIMx_CR1 寄存器中的 CMS 位不为“00”时,中心对齐模式有效。将通道配置为输出模式时,其输出比较中断标志将在以下模式下置 1,即:计数器递减计数(中心对齐模式 1,CMS =“01”)、计数器递增计数(中心对齐模式 2,CMS =“10”)以及计数器递增/递减计数(中心对齐模式 3,CMS =“11”)。
在此模式下,TIMx_CR1 寄存器的 DIR 方向位不可写入值,而是由硬件更新并指示当前计数器方向。
每次发生计数器上溢和下溢时都会生成更新事件,或将 TIMx_EGR 寄存器中的 UG 位置 1 (通过软件或使用从模式控制器)也可以生成更新事件。这种情况下,计数器以及预分频器计数器将重新从 0 开始计数。
通过软件将 TIMx_CR1 寄存器中的 UDIS 位置 1 可禁止 UEV 更新事件。这可避免向预装载寄存器写入新值时更新影子寄存器。在 UDIS 位写入 0 之前不会产生任何更新事件。不过,计数器仍会根据当前自动重载值进行递增和递减计数。

此外,如果 TIMx_CR1 寄存器中的 URS 位(更新请求选择)已置 1,则将 UG 位置 1 会生成 UEV 更新事件,但不会将 UIF 标志置 1(因此,不会发送任何中断或 DMA 请求)。这样一来,如果在发生捕获事件时将计数器清零,将不会同时产生更新中断和捕获中断。
发生更新事件时,将更新所有寄存器且将更新标志(TIMx_SR 寄存器中的 UIF 位)置 1(取决于 URS 位):
●    重复计数器中将重新装载 TIMx_RCR 寄存器的内容
●    预分频器的缓冲区中将重新装载预装载值(TIMx_PSC 寄存器的内容)
●    自动重载活动寄存器将以预装载值(TIMx_ARR 寄存器的内容)进行更新。注意,如果
更新操作是由计数器上溢触发的,则自动重载寄存器在重载计数器之前更新,因此,下一个计数周期就是我们所希望的新的周期长度(计数器被重载新的值)。
以下各图以一些示例说明不同时钟频率下计数器的行为。

---------------------------------------------------------------------------------------------

  • 38
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值