一、什么是定时器
定时器就是计数器,通过计数完成一系列功能。
二、定时器的分类
定时器分为基本定时器、通用定时器、高级定时器。级别不同,功能不同。级别越高,功能越强。
三、定时器(计数器)三个重要寄存器
- 预分频器PSC ;通过分频器可以设定定时器的频率,即为APB1/APB2 timer clocks除以(PSC+1),为什么要减一呢?0~(80-1);0计数到80-1计数80个;0计数到80是计数81个脉冲!
__HAL_TIM_SET_PRESCALER
-
计数器:在分频得到的频率下进行计数,每来一个脉冲进行计数
__HAL_TIM_GET_COUNTER __HAL_TIM_SET_COUNTER
- 自动重装载寄存器 计数器计数到自动重装载寄存器设置的值时,计数器清零
__HAL_TIM_GET_AUTORELOAD
__HAL_TIM_SET_AUTORELOAD
四、影子寄存器
1.预分频器的影子寄存器-->设置新的预分频值,需要等下一个计数周期才生效
2.自动重装载的影子寄存器(开启关闭需要设置)
编辑作用同1.差不多
五、定时器外部时钟模式
应用:传送带测距or测速、超声波测距
六、定时器从模式
- 外部时钟模式1的功能是给定时器提供计数的信号
- 而复位模式(Reset Mode)、门模式(Gated Mode)、触发模式(Trigger Mode)是控制定时器的工作状态
- 复位模式:重新计数 触发更新中断
- 门模式:根据电平 暂停与继续计数
- 触发模式:启动定时器计数 常配合单脉冲
七、定时器常用HAL库函数速查
常用库函数——click me!