使用STM32CubeMX软件学习配置定时器,对Mode and Configuration进行分析各部分选项的功能。本次以TIM2为例进行分析。
一、 Slave Mode
可以配置的选项有:
Disable
External Clock Mode 1 外部时钟源模式1
Reset Mode 复位模式
Gated Mode 门控模式
Trigger lode 触发模式
1.External Clock Mode 1
外部时钟模式1 – 选中的触发输入(TRGI)的上升沿驱动计数器
下图为定时器框架图中的时钟部分,其中黄色框中的为外部时钟模式一。可以由外部输入引脚口,也可由内部触发输入。(如果这里选择外部时钟模式1,则下面的Clock Source则不能使用会变灰)
其中TI1信号可以由TIMx_CH1引脚直接输入,还可以是3个输入端为TIMx_CH1、 TIMx_CH2和TIMx_CH3的异或输入。异或输出能够被用于所有定时器的输入功能,如触发或输入捕获,主要应用于霍尔传感器的信号检测。
TI1FP1: 从TIMx_CH1进入的TI1信号,经过输入滤波器生成TI1F,再经过边沿检测器(捕获极性选择上升沿或下降沿)生成TI1FP1。(TI2FP2同样)
TI1F_ED: TI1经过边沿检测器后生成TI1F_ED信号(双边沿检测,在捕获到TI1F上的边沿后,生成脉冲信号,详解如下图所示)
内部触发输入(ITRx): 使用一个定时器作为另一个定时器的预分频器,由前一个定时器的TRGO1信号传入。
列个官方举的例子:
2.Reset Mode
官方举得例子我感觉已经很详细了,我再说点细节的东西。定时器的计数器使用的是内部时钟计数,触发源需要在Trigger Source 选项中去选择。
官方还列举了复位模式的控制电路时序图,请查看stn32的参考手册。
3.Gated Mode
可以实现使用一个定时器使能另一个定时器,具体请看参考手册。
4.Trigger Mode
可以实现使用一个定时器去启动另一个定时器。
二、Trigger Source
此触发源是要根据上面的模式搭配使用的,不同从模式对应的触发源不同,上面时钟部分也有讲解。
三、Clock Source
1.Internal Clock
内部时钟源(CK_INT) (这个也是最常用的时钟源)
如果禁止了从模式控制器(TIMx_SMCR寄存器的SMS=000),则CEN、 DIR(TIMx_CR1寄存器)和UG位(TIMx_EGR寄存器)是事实上的控制位,并且只能被软件修改(UG位仍被自动清除)。只要CEN位被写成’1’,预分频器的时钟就由内部时钟CK_INT提供。
2.ETR2
外部时钟模式2:外部触发输入(ETR)
则是需要使用外部ETR引脚提供时钟信号。