STM32F407ZGT通用定时器
通用定时器简介
通用定时器包含一个16位或32位自动重载计数器(CNT),该计数器由可编程预分频(PSC)驱动。
通用定时器可以用来:测量输入信号的脉冲长度,产生输出波形(输出比较和PWM)。
STM32的通用TIMx(TIM2~TIM5和TIM9 ~ TIM14)定时器功能包括:
1>16位/32位(仅TIM2和TIM5)向上,向下,向上/向下自动装载计数器(TIMx_CNT),注意:TIM9 ~ TIM14只支持向上(递增)计数方式。
2>16位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为1 ~ 65535之间的任意数值。
3>4个独立通道(TIMx_CH1 ~ 4,TIM9 ~ TIM14最多2个通道),这些通道可以用来作为: 输入捕获,输出比较,支持针对定位的增量(正交)编码器和霍尔传感器(TIM9~TIM14不支持),触发输入作为外部时钟或者按周期的电流管理(TIM9 ~ TIM14不支持)
介绍一下TIM2 ~ TIM5的寄存器
1,控制寄存器1(TIMx_CR1)
然后是DMA/中断使能寄存器(TIMx_DIER)
预分频寄存器(TIMx_PSC)
定时器的时钟来源有4个:
1,内部时钟(CK_INT)
2,外部时钟模式1:外部输入脚(TIx)
3,外部时钟模式2:外部触发输入(ETR),适用于TIM2,TIM3,TIM4
4,内部触发输入(ITRx):使用A定时器作为B定时器的预分频器
这些时钟,具体选择哪个可以通过TIMx_SMCR寄存器的相关位来设置。这里的CK_INT时钟是从APB1倍频得来的,除非APB1的时钟分频数设置为1(一般都不会是1),否则通用定时器TIMx的时钟是APB1时钟的2倍,当APB1的时钟不分频的时候,通用定时器TIMx的时钟就等于APB1的时钟。
还要注意的是高级定时器以及TIM9 ~ TIM11的时钟不是来自APB1,而是来自APB2的。
------未完待续