STM32定时器学习
高级寄存器TIM1和TIM8
通用寄存器TIM2,TIM3,TIM4,TIM5
基本寄存器TIM6,TIM7
通用寄存器是由 时钟、时基单元、输入、输出组成。
计数器时钟可以由下列时钟源提供:
内部时钟(CK_INT)
外部时钟模式1:外部输入脚(TIx)
外部时钟模式2:外部触发输入(ETR)
内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器。
TIM2-7的内部时钟来自于低速APB1总线,如果APB1分频系数为1,则定时器时钟等于APB1的时钟,若不是,则定时器时钟为APB1时钟的两倍。
TIM1和TIM8的内部时钟来自于APB2。
TIMX_PSC预分频寄存器是把时钟频率进行1~65536进行任意值分频。
CK_INT---->预分频寄存器---->CK_CNT
那么一个时钟周期的时间
T=1CK_CNT=PSC[15:0]+1Fck_pscT=1CK_CNT=PSC[15:0]+1Fck_psc
由于计数器溢出会产生一次中断,故
T(溢出时间)=(ARR+1)*(PSC+1)/F(ck_psc)
上述公式为何计数器ARR和时钟分频PSC都要加1,因为这两个值是配置在寄存器中的,其实从0开始计数,故要加1。
一般使用默认系统时钟72MHz,则F(ck_psc)=72MHz
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』