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设置。