目录
14.5.1 TIM_TimeBaseInitTypeDef
14.5 高级定时器的配置方法
在标准库函数头文件 stm32f10x_tim.h 中对定时器外设建立了四个初始化结构体,分别为时基初始化结构体 TIM_TimeBaseInitTypeDef、输出比较初始化结构体 TIM_OCInitTypeDef、输入捕获初始化结构体 TIM_ICInitTypeDef 和断路和死区初始化结构体 TIM_BDTRInitTypeDef,高级控制定时器可以用到所有初始化结构体,通用定时器不能使用 TIM_BDTRInitTypeDef 结构体,基本定时器只能使用时基结构体。
14.5.1 TIM_TimeBaseInitTypeDef
时基结构体 TIM_TimeBaseInitTypeDef 用于定时器基础参数设置,与 TIM_TimeBaseInit 函数配合使用完成配置。
typedef struct
{
uint16_t TIM_Prescaler; //预分频器
uint16_t TIM_CounterMode; //计数模式
uint16_t TIM_Period; //定时器周期
uint16_t TIM_ClockDivision; //时钟分频
uint8_t TIM_RepetitionCounter; //重复计数器
} TIM_TimeBaseInitTypeDef;
(1) TIM_Prescaler:定时器预分频器设置,时钟源经该预分频器才是定时器计数时钟 CK_CNT,它设定 PSC 寄存器的值。计算公式为:计数器时钟频率 (fCK_CNT) 等于 fCK_PSC / (PSC[15:0] + 1),可实现 1 至 65536 分频。
(2) TIM_CounterMode:定时器计数方式,可设置为向上计数、向下计数以及中心对齐。高级控制定时器允许选择任意一种。
(3) TIM_Period:定时器周期,实际就是设定自动重载寄存器 ARR 的值, ARR 为要装载到实际自动重载寄存器(即影子寄存器)的值,可设置范围为 0 至 655