在上图中央对齐模式下,在①点TIM1_CNT=0,在②点TIM1_CNT=TIM1_ARR,在③点TIM1_CNT=0,从①至②是向上计数,到达②时计数器(上)溢出,同时按照重复计数器的规则,TIM1_RCR减一;从②至③是向下计数,到达③时计数器(下)溢出,TIM1_RCR再减一 当重复计数器递减至0时,再次递减就会发生更新事件;图中①点时TIM1_RCR=1,图中②点时TIM1_RCR=0;如果没有重复计数器的作用,即如果不存在重复计数器,则在②这个时刻会发生更新事件,即图中细箭头指示的点;图中③点时TIM1_RCR会再次递减而产生下溢,此时才发生真正的更新事件,即图中粗箭头指示的点。
当设定TIM1_RCR=1时并 使能重复计数器有效时:
存在重复计数器
从①至②是向上计数,到达②时计数器(上)溢出,TIM1_RCR减一;
这时: TIM1_RCR=TIM1_RCR-1=1-0=0> -1; 不产生更新事件,.
从②至③是向下计数,到达③时计数器(下)溢出。TIM1_RCR减一;
这时: TIM1_RCR=0-1= -1;
发生更新事件,中断请求.
所以: 在一个完整的pwm波形中( 即①到②至③ ).只发生一次更新事件在③中,( ②去不更新) 这样可以在前面的pwm周期计算下一个pwm波的比较寄存器的值. 直到在③处寄存器更新。
使用重复计数器能控制PWM波形的脉冲个数,所以用起来很方便。
|