MSPM0-定时器外设-重复计数器抑制

乐活   2025-01-29 12:42   内蒙古  

我们来看这个图。

计数器递减运行,TIMA.CTR 计数器从 TIMA.LOAD 开始递减,直到 0。
计数器到达 0
计数器到达 0 时,自动重装 TIMA.LOAD。不用自己装这个值,自动的装了。
重复计数器 TIMA.RC 递增(TIMA.RC += 1)。
零事件抑制(SLZERCNEZ = 1)
由于 SLZERCNEZ = 1,普通的计数到 0 事件不会产生中断(Zero Events Suppressed)。
只有 TIMA.RC == TIMA.RCLD 时,才会触发真正的事件。
当 TIMA.RC == TIMA.RCLD 时
触发 Repeat Counter Zero Interrupt(REPC = 1),表示真正的中断事件发生。

有啥用呢?减少中断频率:

如果没有 SLZERCNEZ = 1,计数器每次到 0 都会触发中断,这可能会造成 CPU 过载。
通过重复计数器(RC)机制,可以在 N 次零事件后触发一次真正的事件,降低中断处理的频率,提高系统效率。
适用于周期性任务:PWM 需要在 N 个周期后触发一个更大的任务,比如更新占空比、调整调节器等。
可以更加的精细控制定时行为:允许控制定时事件触发的周期,而不是让每个定时周期都产生中断。

云深之无迹
纵是相见,亦如不见,潇湘泪雨,执念何苦。
 最新文章