如何在sw4stm32中启用中断功能

Ham*_*mid 2 timer interrupt stm32 isr

我使用SW4STM32工具链,我想在STM32103RET中溢出时使用timer2来领导LED,这是我打开LED的功能。

void TurnOnLed(){
    HAL_GPIO_WritePin(GPIOA,GPIO_PIN_10,GPIO_PIN_SET);
}

void TurnOffLed()
{
    HAL_GPIO_WritePin(GPIOA,GPIO_PIN_10,GPIO_PIN_RESET);
}
Run Code Online (Sandbox Code Playgroud)

由stm32多维数据集mx设置了timer2初始化,但是我不知道当timer2溢出时调用哪个函数?

imb*_*arr 5

您需要按功能启动计时器

HAL_TIM_Base_Start_IT(&htimX);
Run Code Online (Sandbox Code Playgroud)

在第一时间实现名为HAL_TIM_PeriodElapsedCallback以下内容的回调函数:

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
    if (htim->Instance == TIMx) {
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您对HAL_Driver一无所知,则可能会从以下地方找到很多信息:

  1. STM32F0xx HAL_Driver描述或对于另一个系列,只需HAL Driver在st.com上搜索
  2. 您可以查看HAL驱动程序用法的示例(使用CubeMX时,可以在C:/Users/%USERNAME%/STM32Cube/Repository/目录中找到它)
  3. 只需打开stm32f?xx_hal_tim.c,看看有什么功能,看看他们的评论以了解tey在做什么。并查看调用了哪些函数,HAL_TIM_IRQHandler以了解如何命名回调。