1.基本的定时器使用
1.1. 说明
如果仅做普通的定时器使用,需要设置的无非就是时钟的分频,计数模式,计数周期和是否自动装载重新计数,一般设置成中断形式。
触发事件选择,包括复位,使能和更新事件
1.2 设置
1.3 函数
定时器启动:
HAL_TIM_Base_Start(), HAL_TIM_Base_Start_DMA(), HAL_TIM_Base_Start_IT()
定时器停止:
HAL_TIM_Base_Stop(), HAL_TIM_Base_Stop_DMA(), HAL_TIM_Base_Stop_IT()
读取数值:
__HAL_TIM_GET_COUNTER(HANDLE)
2.PWM输出
设置
函数
3.输入捕获(Input Capture direct mode)
3.1 说明
可以记录上升沿,下降沿的时间,用于记录脉冲宽度等
4.计数模式
可以使用IO中断功能
5.编码器
5.1 说明
编码器使用A,B两组信号线,根据A/B的相位差判断正反转。
编码器占用两个通道,之前做过想用一个定时器,两路是编码器,两路是PWM输出,结果不知道为什么不能同时使用。
不是所有定时器都有编码器功能。
需要设置时钟周期。
参考:
https://blog.csdn.net/weixin_41082463/article/details/105040893
5.2 设置
5.3 函数
开始计数:HAL_TIM_Encoder_Start(),HAL_TIM_Encoder_Start_DMA(), HAL_TIM_Encoder_Start_IT()
停止计数:HAL_TIM_Encoder_Stop(),HAL_TIM_Encoder_Stop_DMA(), HAL_TIM_Encoder_Stop_IT()
读取数值:
__HAL_TIM_GET_COUNTER(HANDLE)
读取方向:
__HAL_TIM_IS_TIM_COUNTING_DOWN(HANDLE)
6. PWM输入
7. XOR ON/Hall Sensor Mode
8.RTC时钟
如果想要断电保存时间,需要外接32.768KHz的晶振,只使用电池引脚供电不能让晶振继续工作。这个BUG可能只在某些系列芯片中。