实测使用TMR2的更新中断,来进行delay_ms延时,发现设想延时的100ms,变成了50ms
检查时钟树发现,同样挂载在APB1总线上的TMR2/3/4..14定时器,并非直接用APB1的时钟频率,而是视乎APB1 Prescaler的预分配值进行x1或x2操作
- 以72MHz 主频,APB1=36MHz(Prescaler = 2),此时TMR2的时钟源为36*2=72MHz,跟APB2的时钟是一样的(最常见配置情况)
- 之前操作过其他挂载在APB1总线上的外设,也是按照36MHz这个频率来计算。但这个惯性思维放到TMR2这类定时器上就出偏差了
|