Tim定时器2【功能最强大结构最复杂的外设】

发布时间 2023-04-15 12:50:31作者: 整点薯条拯救一切

【定时中断基本结构】

 【预分频器时序】

 

 

 重要前提:在改变预分频系数的时候,得等到下一次计数周期才能改变实际的频率

预分频器的输入时钟CK_PSC:选内部时钟的话一般是72MHz
计数器使能CNT_EN:高电平计数器正常运行,低电平计数器停止
计数器时钟CK_CNT:既是预分频器的时钟输出也是计数器的时钟输入
计时器未使能时,计数器时钟不运行。使能后,前半段预分频器系数为1,计数器的时钟等于预分频前的时钟;后半段预分频器系数为2,计数器的时钟变为预分频器前时钟的一半
在计数器时钟的驱动下,计数器寄存器也随时钟的上升沿不断自增,在“FC”后计数值变为0,可以推断出自动重装值就是FC,因为当计数值和重装值相等,并且下一个时钟来临时,计数值才清零,同时产生一个更新事件
预分频寄存器的缓冲机制:预分频控制寄存器是供我们读写用的并不直接决定分频系数;而预分频缓冲寄存器才是真正起作用的。避免时钟的分频系数突然改变,导致一个计数周期内,前后部分的频率不一样。
【计数器时序】

 

 预分频器的输入时钟CK_PSC:选内部时钟的话一般是72MHz

计数器使能CNT_EN:高电平计数器正常运行,低电平计数器停止

计数器时钟 = CK_PSC / 2,计数器在时钟的每个上升沿自增,溢出后清零,产生一个更新事件的脉冲,另外还会将更新中断标志位UIF置1,随即申请中断,中断响应后,需要在中断程序里手动清零

通过设置ARPE位,可以选择是否使用预装功能

 【RCC时钟树】