STM32F407-14.3.2-02 递减计数
递减计数模式
在递减计数模式下,计数器从自动重载值(TIMx_ARR 寄存器的内容)开始递减计数到 0, 然后重新从自动重载值开始计数并生成计数器下溢事件。
如果使用重复计数器,则当递减计数的重复次数达到重复计数器寄存器中编程的次数加一次 (TIMx_RCR+1) 后,将生成更新事件 (UEV)。否则,将在每次计数器下溢时产生更新事件。将 TIMx_EGR 寄存器的 UG 位置 1(通过软件或使用从模式控制器)时,也将产生更新事件。通过软件将 TIMx_CR1 寄存器中的 UDIS 位置 1 可禁止 UEV 更新事件。这可避免向预装载寄存器写入新值时更新影子寄存器。在 UDIS 位写入 0 之前不会产生任何更新事件。不过,计数器会重新从当前自动重载值开始计数,而预分频器计数器则重新从 0 开始计数(但预分频比保持不变)。
此外,如果 TIMx_CR1 寄存器中的 URS 位(更新请求选择)已置 1,则将 UG 位置 1 会生成更新事件 UEV,但不会将 UIF 标志置 1(因此,不会发送任何中断或 DMA 请求)。这样一来,如果在发生捕获事件时将计数器清零,将不会同时产生更新中断和捕获中断。
发生更新事件时,将更新所有寄存器且将更新标志(TIMx_SR 寄存器中的 UIF 位)置 1(取决于 URS 位):
●?? ?重复计数器中将重新装载 TIMx_RCR 寄存器的内容
●?? ?预分频器的缓冲区中将重新装载预装载值(TIMx_PSC 寄存器的内容)
●?? ?自动重载活动寄存器将以预装载值(TIMx_ARR 寄存器的内容)进行更新。注意,自动重载寄存器会在计数器重载之前得到更新,因此,下一个计数周期就是我们所希望的新的周期长度
以下各图以一些示例说明当 TIMx_ARR=0x36 时不同时钟频率下计数器的行为。
-------------------------------------------------------------------------------------------------
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!