stm32-定时器认识

stm32-定时器溢出时间公式

stm32-定时器认识_第1张图片

公式的总体认识

上面公式简单来说即是:溢出时间 = (设定的)自动装载计数器 x 1/分频值。 首先定时器溢出公式是根据定时器的计数频率(也就是系统时钟频率的一个分频值)和预设的计数值来计算的。

分频值

分频值 = 系统时钟频率 / psc(分频系数),单位是MHZ。其中psc(TIMx_psc)是一个寄存器用来设置定时器的分频系数。简单来说就是为我们想要设置的定时器专门分出来一个特殊时钟频率,因为系统时钟的频率太大,比如72Mhz算下来就是非常非常小的时间内震荡一次也就是说震荡频率太大效率太高时间太快,但是因为我们需要定时的时间不是很快所以在设置stm32定时器的时候需要分频,这样定时器就会有专门分频值也就是专属与某一个定时器的时钟频率。

PSC

psc(TIMx_PSC)叫做预分频器,也就是一个寄存器,全称应该就叫预分频寄存器,用来设置某一个时钟的时钟频率,通常16位范围为1~65535,有了预分频器这样某一个时钟就能有特点的分频值。一般设置为7199.

ARR

ARR是TIMx_CNT(也就是计数器,定时器本质内部是一个计数器)的自动装载值,TIMx_CNT是16为向上、向下,向上/向下自动装载计数器,也就是说当定时器溢出时会自动重新开始计数。

你可能感兴趣的:(stm32,单片机,嵌入式硬件)