1、三类带有影子寄存器的寄存器:
TIMx-PSC
TIMx-ARR
TIMx-CCR1/2/3/4
这些寄存器称作预装寄存器,其背后起作用的寄存器称作影子寄存器。
2、用户对TIMx-PSC读写操作时,操作的都是预装寄存器,当产生更新事件UEV时,会将预装寄存器中的值更新到影子寄存器。
3、用户对TIMx-ARR修改时,取决于TIMx-CR1寄存器中的ARPE位,如果ARPE=0,则不使用预装寄存器,用户读写操作是直接操作影子寄存器,即对TIMx-ARR的修改会立即生效。如果ARPE=1,则使用预装寄存器,对TIMx-ARR的修改实际上修改的是预装寄存器,当产生更新事件UEV时,将预装寄存器的值更新到影子寄存器。
4、用户对TIMx-CCR修改时,和修改TIMx-ARR类似,取决于TIMx-CCMRx的OCxPE位,如果OCxPE=0,则直接操作影子寄存器,否则若OCxPE=1,则修改的是预装寄存器,当产生更新事件UEV时,更新到对应的影子寄存器。
本文介绍了STM32定时器中预装寄存器和影子寄存器的工作原理。用户通常操作预装寄存器,在更新事件触发时,预装寄存器的值被复制到影子寄存器中,实现对计数器的影响。对于不同的寄存器,是否启用预装寄存器还取决于特定配置位的状态。
2059

被折叠的 条评论
为什么被折叠?



