当前位置: 代码迷 >> 综合 >> STM32学习(三)cubemx+HAL库 定时器中断
  详细解决方案

STM32学习(三)cubemx+HAL库 定时器中断

热度:41   发布时间:2024-02-23 06:41:22.0

平台

硬件平台:战舰开发板
芯片:stm32f103ze
环境:MDK5 +CubeMX

配置

1.时钟和debug配置
2.定时器配置
在这里插入图片描述时钟源选择内部时钟,不用选择通道,重点是参数的配置,这决定了定时的时间,这里我们系统时钟用了8MHZ,分频系数取799,周期取4999,则定时器开启到进入中断应该是(800*5000/8)us,即500ms。注意都是16位的,取值不可超过65535。
在这里插入图片描述注意开启中断。

代码

HAL_TIM_Base_Start_IT(&htim1);

在主函数中开启定时器,计时开始。

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){if(htim->Instance == htim1.Instance){HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5);}
}

每0.5s后进入此中断回调函数(写在main函数外),对PB5进行电平的翻转,这样有助于给系统一个固定的节拍。