可以用一个定时器控制另一个定时器。
相比较基本定时器,增加了输入比较以及输出比较功能。
并且通用定时器具有独立通道,就可以吧GPIO引脚连接到某个通道,利用通道进行输入检测以及脉冲信号输出。
如图下
通用定时器挂在APB1下
递增/递减计数也就是库函数中的中心对齐
TIM2~TIM5的计数方式有多种可以选择,分别为递增计数、递减计数、递增/递减计数。
递增计数:计数器从 0 计数到自动重载值(TIMx_ARR 寄存器的内容),然后重新
从 0 开始计数并生成计数器上溢事件。
递减计数:计数器从自动重载值(TIMx_ARR 寄存器的内容)开始递减计数到 0,
然后重新从自动重载值开始计数并生成计数器下溢事件。
中心对齐:计数器从 0 开始计数到自动重载值(TIMx_ARR 寄存器的内容)— 1,
生成计数器上溢事件;然后从自动重载值开始向下计数到 1 并生成计数器下溢 事件。之后从 0 开始重新计数。
可以知道,通用定时器具有多种功能,分别为定时功能、输入捕获、输出比较,如下图所示
先看上半部分,说的他的定时功能
通道:channel
即通道缩写
多路分选器 (多选一)
图119为STMF4通用定时器框图
过滤滤波是过滤不需要的频率,波形,脉冲,滤波这就会涉及到时钟分频因子,采样(涉及到时钟分频因子)才能滤波
三种功能
定时功能:基本上使用流程和基本定时器一致,只不过通用定时器的计数方式更灵活。
输入捕获:可以把定时器的某个通道连接到GPIO引脚上,然后从外部输入脉冲信号,经过通道的滤波以及边沿检测之后,可以记录某个电平信号的脉冲宽度以及周期。
输出比较:可以把定时器的某个通道连接到GPIO引脚上,主动从引脚输出一个固定的脉冲,原理很简单,其实就是计数器(TIM_CNT)如果超过比较寄存器中的值,就可以输出一个电平信号(高电平或者低电平)。(小于比较寄存器中的值可以输出另一个电平信号)