一、打开cubemx
。
二、配置定时器
选择TIM3,修改时钟源为内部时钟,配置分频因子PSC为10800-1,计数方式为UP向上计数,自动重装载值为5000-1,因为TIM3是挂在APB1上,APB1的时钟速度为108M,所以中断时间为108000000/(10800*5000)=500ms
三、开启中断,配置中断优先级
四、生成代码
在主函数里添加函数HAL_TIM_Base_Start_IT(&htim3);没开始定时器计数
在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闪烁一次