在STM32L4xx系列单片机中,基本定时器(TIM6,TIM7)的主要模块是一个16位增计数器,对计数器输入时钟进行分频的预分频器寄存器,自动重新加载寄存器:
- 计数器寄存器(TIMx_CNT):对输入时钟进行计数
- 预分频器寄存器(TIMx_PSC):用于将时钟频率除以1到65535之间的任何因子
- 自动重新加载寄存器(TIMx_ARR)
基本定时器的主要功能就是计数器寄存器(TIMx_CNT)对输入时钟进行增计数,当TIMx_CNT的计数值达到内部的影子寄存器的值时,计数器发生溢出,产生一个更新事件或更新中断(如果中断被允许)。
所以改变影子寄存器的值,就可以改变定时器溢出的时间,也就是可以产生不同的定时时间。但是应用程序不能直接操作影子寄存器,如果要改变影子寄存器的值,可以通过改变自动重新加载寄存器(TIMx_ARR)来间接操作影子寄存器。
通过自动重新加载寄存器(TIMx_ARR)来改变影子寄存器的方式分为立即加载,预加载,手动加载三种方式,通过控制寄存器(TIMx_CR1)中的自动重新加载预加载启用位(ARPE)来决定采用立即加载或预加载方式,手动加载与此位无关。
立即加载:当 ARPE = 0 时,TIMx_ARR的内容被立即传输到影子寄存器,如下图:

如图所示,当把36写入TIMx_ARR后,此

最低0.47元/天 解锁文章

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



