关于hal库中HAL_TIM_IRQHandler();函数底层感觉有bug的问题,有大神来回答一下吗?

2019-07-21 03:48发布

在HAL_TIM_IRQHandler();这个函数的定义中都会有类似__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC1) != RESET获取这个标志位的操作,但是并没有清除此标志位,但是同一函数中有__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC1) !=RESET这样的获取中断标志的操作,函数中就有清除的操作,这是为什么?有大神来解释一下吗?

还有一个小问题就是有大神来解释一下__HAL_TIM_GET_FLAG(__HANDLE__, __FLAG__) 和 __HAL_TIM_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)的具体区别是什么?
还有就是HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim);和HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim);的区别。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。