可编程高级控制定时器的主块是一个16位计数器及其相关的自动重载寄存器。计数器可以向上、向下或同时上下计算。计数器的时钟可以被一个预调节器来划分。计数器、自动重载寄存器和预调量器寄存器可以由软件写入或读取。即使计数器在运行,这也是如此。
时基单元包括:
计数器寄存器(TIMx_CNT)
预调节器寄存器(TIMx_PSC)
自动重新加载寄存器(TIMx_ARR)
重复计数器寄存器(TIMx_RCR)
自动装载寄存器是预先装载的,写或读自动重装载寄存器将访问预装载寄存器。根据在TIMx_CR1寄存器中的自动装载预装载使能位(ARPE)的设置,预装载寄存器的内容被立即或在每次的更新事件UEV时传送到影子寄存器。
当计数器达到溢出条件(向下计数时的下溢条件)并当TIMx_CR1寄存器中的UDIS位等于0时,产生更新事件。更新事件也可以由软件产生。随后会详细描述每一种配置下更新事件的产生。
计数器由预分频器的时钟输出CK_CNT驱动,仅当设置了计数器TIMx_CR1寄存器中的计数器使能位(CEN)时,CK_CNT才有效。
请注意,在设置了TIMx_CR寄存器的CEN位的一个时钟周期后,计数器开始计数。
预分频器可以将计数器的时钟频率按1到65536之间的任意值分频。它是基于一个(在TIMx_PSC寄存器中的)16位寄存器控制的16位计数器。因为这个控制寄存器带有缓冲器,它能够在运行时被改变。新的预分频器的参数在下一次更新事件到来时被采用。
以下是在预分频器运行时,更改计数器参数的例子。