在中央对齐模式,计数器从0开始计数到自动加载的值(TIMx_ARR寄存器)−1,产生一个计数器 溢出事件,然后向下计数到1并且产生一个计数器下溢事件;然后再从0开始重新计数。
就像手册中的图示,ARR=6,当CNT达到5时产生一个更新事件,随后又从6开始递减,当减至1时又产生一个更新事件。而中断标志位需要我们手动去清除。
中央对齐模式有几个要我们注意的点:
计数方向:在中央对齐模式下,TIMx_CR1寄存器中的DIR位(计数方向位)不能手动设置,因为计数方向由硬件自动管理。DIR位会根据当前计数方向自动更新,指示计数器当前是向上还是向下计数
更新事件:在每次计数器到达自动重装载值(即TIMx_ARR值)或计数器下溢(从1到0)时,都会产生一个更新事件UEV。更新事件会触发寄存器内容的更新,比如影子寄存器的更新
控制寄存器:
UDIS位(更新禁用位)
如果设置了TIMx_CR1寄存器中的UDIS位,可以禁止更新事件UEV的发生。防止在修改寄存器内容时更新影子寄存器,确保计数器不会因为更新事件而重新计数。当UDIS位被清零时,计数器将继续正常运行
URS位(更新请求选择位)
设置TIMx_CR1寄存器中的URS位可以选择产生更新事件时是否设置更新中断标志UIF(TIMx_SR寄存器中的UIF位)。如果URS位被设置为1,那么即使产生了更新事件,UIF标志也不会被设置,避免因捕获事件而引发不必要的中断或DMA请求。