STM32F7学习笔记(五)-定时器中断

一、打开cubemx

二、配置定时器

STM32F7学习笔记(五)-定时器中断
选择TIM3,修改时钟源为内部时钟,配置分频因子PSC为10800-1,计数方式为UP向上计数,自动重装载值为5000-1,因为TIM3是挂在APB1上,APB1的时钟速度为108M,所以中断时间为108000000/(10800*5000)=500ms

三、开启中断,配置中断优先级

STM32F7学习笔记(五)-定时器中断

四、生成代码

在主函数里添加函数HAL_TIM_Base_Start_IT(&htim3);没开始定时器计数STM32F7学习笔记(五)-定时器中断
在tim.c中添加中断回调函数

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
    if(htim->Instance == TIM3)
    {
        HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin);
        HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);
    }
}

五、下载代码,观察现象

LED0和LED1每500ms闪烁一次