TIM简介
TIM外设,是用来产生定时事件的。在内部构造上 如下图。
但关键部件只有 [输入时钟脉冲]->[计数器CNT]->[捕获比较寄存器] 常用的寄存器
- Prescaler(PSC)预分频寄存器:对输入到TIM外设时钟频率进行分频,比如该TIM挂在在APB2上,APB2的时钟频率为72MHz,如果设置PSC寄存器值为72-1,那么那么进入TIM外设的内部的时钟频率为1MHz,CNT寄存器也就是对1这1MHz的脉冲进行计数。该寄存器可通过
__HAL_TIM_SET_PRESCALER(__HANDLE__, __PRESC__) 进行修改 - Counter(CNT)寄存器: 用来计数当前收到的脉冲数。使用
__HAL_TIM_SET_COUNTER(__HANDLE__, __COUNTER__) 修改 - CCMR寄存器(capture/compare mode register):在输入捕获,和输出比较中有不同的作用。以PWM波生成为例,该寄存器可用来设置PWM波的占空比。使用
__HAL_TIM_SET_COMPARE(__HANDLE__, __CHANNEL__, __COMPARE__) 来进行设置 - ARR寄存器(AutoReload Register): 在本例中,当CNT寄存器中的值达到ARR中的值时,自动将CNT值清零。也就是用来限制CNT的计数范围。使用
__HAL_TIM_SET_AUTORELOAD(__HANDLE__, __AUTORELOAD__) 进行设置。
|