定时器简述
Stm32f10x系列最多有8个定时器,其中通用定时器有4个,高级定时器有2个,基础定时器2个。下面这张图简要说明三种定时器的主要区别:
STM3 的通用 TIMx :TIM2、TIM3、TIM4 和 TIM5,在低速的APB1总线上
高级定时器:TIM1与TIM8在高速的APB2总线上
基础定时器:TIM6与TIM7,也在APB1低速的总线上
高级定时器主要功能:
通用定时器功能:
基础定时器:
需要注意的是基础定时器只有累加的功能,产生的中断也是累加的溢出中断。高级的定时器与通用定时器的区别是高级定时器多出一个死区控制编程。
通用定时器内部结
时钟发生器:1.来自系统时钟RCC的TIM_CLK
2.TIMx_ETR外部时钟输入端,这引脚只有定时器2,3,4才有,定时器5没有。
3.内部触发输入口,ITR0、ITR1、ITR2、ITR3是来自定时器级联的时钟信号
4.来自TIMx_CH3/TIMx_CH4通道的时钟输入(输入到TI1FP1,TI1FP2端)
时基单元:CK_PSC 的时基经过PSC预分频器分频后得到CK_CNT 时基然后给CNT计 数器
输入捕获:通过TIMx_CH3通道经过边沿检查、滤波器后给捕获寄存器,其中并不进行预分频器进行分频。
输出比较:也是TIMx_CH3/TIMx_CH4通道,所以要么输入捕获或者输出比较,只能其中一种。也就是计数器的值跟捕获寄存器的值进行比较,达到了捕获寄存器的值相等时输出信号。
使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。
通用定时器的定时中断
前面说过定时器的时钟来源有4个:
1.内部时钟(CK_INT)
2.外部时钟模式1:外部输入脚(TIx)
3.外部时钟模式2:外部触发输入(ETR)
4.内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个5.定时器Timer1