STM32 HAL库 定时器中断配置

STM32CUBEMX系列教程之定时器中断实验


环境:
1、STM32CubeMX 5.3
2、Atollic TrueSTUDIO for STM32 9.3.0
3、战舰迷你板(stm32f103rb)


(一)定时器配置

定时时间计算方法:
STM32 HAL库 定时器中断配置_第1张图片
配置为500ms一次中断:
STM32 HAL库 定时器中断配置_第2张图片
开启定时器中断:
STM32 HAL库 定时器中断配置_第3张图片

(二)代码修改

覆写定时器中断回调函数:

/**
  * @brief  Period elapsed callback in non-blocking mode
  * @param  htim TIM handle
  * @retval None
  */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
    if(htim->Instance == htim3.Instance)
    {
        HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
    }
}

注意要使能定时器中断:

HAL_TIM_Base_Start_IT(&htim3);

效果如下图,LED0由定时器控制500ms进行一次状态翻转,LED1由while循环控制1s翻转一次状态:
STM32 HAL库 定时器中断配置_第4张图片

(三)调试与仿真


ends…

你可能感兴趣的:(STM32)