HAL库的中断函数到底在哪里?

比如说使用TIM2定时器定时器,用cubemx生成代码后,在stm32f0xx_it.c中有
/**
* @brief This function handles TIM2 global interrupt.
*/
void TIM2_IRQHandler(void)
{
/ USER CODE BEGIN TIM2_IRQn 0 /
/ USER CODE END TIM2_IRQn 0 /
HAL_TIM_IRQHandler(&htim2);
/ USER CODE BEGIN TIM2_IRQn 1 /
/ USER CODE END TIM2_IRQn 1 /
}


而AL_TIM_IRQHandler(&htim2)中有
/ TIM Update event /
if(__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET)
{
if(__HAL_TIM_GET_ITSTATUS(htim, TIM_IT_UPDATE) !=RESET)
{
__HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE);
HAL_TIM_PeriodElapsedCallback(htim);
}
}

看到有的资料写HAL_TIM_PeriodElapsedCallback(htim);是用户接口
那前面的几个函数不都叫中断调用函数吗?他们是什么关系?我要实现的代码到底写在哪里??
已邀请:

admin

赞同来自: 菜田怪圈

HAL_TIM_PeriodElapsedCallback(htim);是中端的回调函数,
函数HAL_TIM_IRQHandler(&htim2);的内部包含了这个回调,用keil编译后查看函数结构就能发现

seuliang

赞同来自: yayayayaya

那修改callback函数或者IRQHandler函数有差别吗?或者说他们各有什么作用?

该问题目前已经被锁定, 无法添加新回复