首页 > 代码库 > HAL之定时器

HAL之定时器

一首先得对定时器的时钟与系统时钟的关系搞清楚,基本定时器的时钟来自APB1最大36MHZ.(定时器倍频值为1)

二 在STM32CubeMX中打开外设功能,时钟源选择内部;然后在配置定时器3中的参数设定中设定参数:

预分频值:N-1

计数周期:M-1

NVIC设定中打开定时器中断

三:NVIC设定中指定其抢占优先级和子优先级。

四:在MDK的软件中需要做2个事情:

4.1启动定时器:HAL_TIM_Base_Start_IT(&htim3);

4.2 编写定时器回调函数:void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim),位置在main.c的后面或者timer.c中,因为别处已经用__WEAK修饰定义了,原则上位置随意。

五 Timer.c:

5.1 void MX_TIM3_Init(void)定时的基本设置

5.2 void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle):时钟使能和NVIC设置。

HAL之定时器