STM32CUBEMX系列教程之定时器中断实验
扫描以下二维码,关注公众号雍正不秃头
获取更多STM32资源及干货!
环境:
1、STM32CubeMX 5.3
2、Atollic TrueSTUDIO for STM32 9.3.0
3、战舰迷你板(stm32f103rb)
(一)定时器配置
定时时间计算方法:
配置为500ms一次中断:
开启定时器中断:
(二)代码修改
覆写定时器中断回调函数:
/**
* @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翻转一次状态:
(三)调试与仿真
ends…