预分频器对时钟进行预分频,计数器自增计数,当计数值计到自动重装值时,计数值清零同时更新中断和更新事件。
基本定时器仅支持向上计数这一种模式。只能选择内部时钟(72mhz)
通用定时器和高级定时器支持向上计数、向下计数、中央对齐这三种模式。
向上计数比较常用。
通用定时器:
外部时钟模式1的输入可以是ETR引脚、其他定时器 、CH1引脚的边沿、CH1引脚和CH2引脚。如:
右边是输出比较电路,总共有四个通道;分别对应CH1到CH4的引脚,可以用于输出PWM波形,驱动电机。
左边这一块是输入捕获电路,也有四个通道;对应也是CH1到CH4的引脚,可以用于测输入方波的频率等。
中间这个寄存器是捕获/比较寄存器,是输入捕获和输出比较电路共用的,因为输入捕获和输出比较不能同时使用,使用这里的寄存器是共有的,引脚也是共用的。
高级定时器:
恢复缺省配置;
时基单元初始化;
给结构体变量赋初值;
使能计数器()
使能中断输出信号()
时钟源选择;对应()
其中:
选择内部时钟;
选择ITRx其他定时器的时钟,参数:TIMx,选择要配置的定时器;TIM_InputTriggerSource,选择要接入哪个其他的定时器;
选择TIx捕获通道的时钟;参数:TIM_TIxExternalCLKSource,选择TIxia、具体的某个引脚;TIM_ICPolarity和 ICFilter:输入的极性和滤波器;对于外部引脚的波形,一般都会有极性选择和滤波器,这样会更灵活一些;
选择ETR通过外部时钟模式1or2输入的时钟,参数:TIM_ExtTRGPrescaler,外部触发预分频器;这里可以对ETR的外部时钟再提前做一个分频,TIM_ExtTRGPolarity和ExtTRGFilter:输入的极性和滤波器;
单独用来配置ETR引脚的预分频器、极性、滤波器这些参数的 ;
用来单独写预分频值的;参数:Prescaler,要写入的预分频值;