高级定时器:TIME1 、TIME8
通用定时器:TIME2TIME5,TIM9TIM14
基本定时器:TIME6 和 TIME7 等
TIM2~TIM5 的寄存器介绍:
控制寄存器 1(TIMx_CR1):只用到了 TIMx_CR1 的最低位,也就是计数器使能位,该位必须置 1,才能让定时器开始计数。
DMA/中断使能寄存器(TIMx_DIER)。该寄存器是一个 16 位的寄存器,第 0 位,该位是更新中断允许位,定时器的更新中断该位要设置为 1,来允许由于更新事件所产生的中断。
预分频寄存器(TIMx_PSC)。该寄存器用设置对时钟进行分频,然后提供给计数器,作为计数器的时钟。
注意点:高级定时器和 TIM9~TIM11 的时钟不是来自 APB1,而是来自 APB2 的。
TIMx_CNT 寄存器,该寄存器是定时器的计数器,存储了当前定时器的计数值。
自动重装载寄存器(TIMx_ARR),该寄存器在物理上实际对应着 2 个寄存器。
HAL库定时器配置步骤:
1 )TIM3时钟使能。
HAL 中定时器使能是通过宏定义标识符来实现对相关寄存器操作的,方法如下:
__HAL_RCC_TIM3_CLK_ENABLE(); //使能 TIM3 时钟
2)初始化定时器参数, 设置自动重装值 ,分频系数 ,计数方式等 。
在HAL库中,定时器的初始化参数是通过定时器初始化函数HAL_TIM_Base_Init实现的:
HAL_StatusT