|
|
@@ -3833,10 +3833,13 @@ HAL_StatusTypeDef HAL_TIM_Encoder_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Cha
|
|
|
*/
|
|
|
void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
|
|
|
{
|
|
|
+ uint32_t itsource = htim->Instance->DIER;
|
|
|
+ uint32_t itflag = htim->Instance->SR;
|
|
|
+
|
|
|
/* Capture compare 1 event */
|
|
|
- if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC1) != RESET)
|
|
|
+ if ((itflag & (TIM_FLAG_CC1)) == (TIM_FLAG_CC1))
|
|
|
{
|
|
|
- if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC1) != RESET)
|
|
|
+ if ((itsource & (TIM_IT_CC1)) == (TIM_IT_CC1))
|
|
|
{
|
|
|
{
|
|
|
__HAL_TIM_CLEAR_IT(htim, TIM_IT_CC1);
|
|
|
@@ -3867,9 +3870,9 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
|
|
|
}
|
|
|
}
|
|
|
/* Capture compare 2 event */
|
|
|
- if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC2) != RESET)
|
|
|
+ if ((itflag & (TIM_FLAG_CC2)) == (TIM_FLAG_CC2))
|
|
|
{
|
|
|
- if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC2) != RESET)
|
|
|
+ if ((itsource & (TIM_IT_CC2)) == (TIM_IT_CC2))
|
|
|
{
|
|
|
__HAL_TIM_CLEAR_IT(htim, TIM_IT_CC2);
|
|
|
htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2;
|
|
|
@@ -3897,9 +3900,9 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
|
|
|
}
|
|
|
}
|
|
|
/* Capture compare 3 event */
|
|
|
- if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC3) != RESET)
|
|
|
+ if ((itflag & (TIM_FLAG_CC3)) == (TIM_FLAG_CC3))
|
|
|
{
|
|
|
- if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC3) != RESET)
|
|
|
+ if ((itsource & (TIM_IT_CC3)) == (TIM_IT_CC3))
|
|
|
{
|
|
|
__HAL_TIM_CLEAR_IT(htim, TIM_IT_CC3);
|
|
|
htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3;
|
|
|
@@ -3927,9 +3930,9 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
|
|
|
}
|
|
|
}
|
|
|
/* Capture compare 4 event */
|
|
|
- if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC4) != RESET)
|
|
|
+ if ((itflag & (TIM_FLAG_CC4)) == (TIM_FLAG_CC4))
|
|
|
{
|
|
|
- if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC4) != RESET)
|
|
|
+ if ((itsource & (TIM_IT_CC4)) == (TIM_IT_CC4))
|
|
|
{
|
|
|
__HAL_TIM_CLEAR_IT(htim, TIM_IT_CC4);
|
|
|
htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4;
|
|
|
@@ -3957,9 +3960,9 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
|
|
|
}
|
|
|
}
|
|
|
/* TIM Update event */
|
|
|
- if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET)
|
|
|
+ if ((itflag & (TIM_FLAG_UPDATE)) == (TIM_FLAG_UPDATE))
|
|
|
{
|
|
|
- if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) != RESET)
|
|
|
+ if ((itsource & (TIM_IT_UPDATE)) == (TIM_IT_UPDATE))
|
|
|
{
|
|
|
__HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE);
|
|
|
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
|
|
|
@@ -3970,9 +3973,9 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
|
|
|
}
|
|
|
}
|
|
|
/* TIM Break input event */
|
|
|
- if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET)
|
|
|
+ if ((itflag & (TIM_FLAG_BREAK)) == (TIM_FLAG_BREAK))
|
|
|
{
|
|
|
- if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET)
|
|
|
+ if ((itsource & (TIM_IT_BREAK)) == (TIM_IT_BREAK))
|
|
|
{
|
|
|
__HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK);
|
|
|
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
|
|
|
@@ -3983,9 +3986,9 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
|
|
|
}
|
|
|
}
|
|
|
/* TIM Break2 input event */
|
|
|
- if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK2) != RESET)
|
|
|
+ if ((itflag & (TIM_FLAG_BREAK2)) == (TIM_FLAG_BREAK2))
|
|
|
{
|
|
|
- if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET)
|
|
|
+ if ((itsource & (TIM_IT_BREAK)) == (TIM_IT_BREAK))
|
|
|
{
|
|
|
__HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK2);
|
|
|
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
|
|
|
@@ -3996,9 +3999,9 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
|
|
|
}
|
|
|
}
|
|
|
/* TIM Trigger detection event */
|
|
|
- if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_TRIGGER) != RESET)
|
|
|
+ if ((itflag & (TIM_FLAG_TRIGGER)) == (TIM_FLAG_TRIGGER))
|
|
|
{
|
|
|
- if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_TRIGGER) != RESET)
|
|
|
+ if ((itsource & (TIM_IT_TRIGGER)) == (TIM_IT_TRIGGER))
|
|
|
{
|
|
|
__HAL_TIM_CLEAR_IT(htim, TIM_IT_TRIGGER);
|
|
|
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
|
|
|
@@ -4009,9 +4012,9 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
|
|
|
}
|
|
|
}
|
|
|
/* TIM commutation event */
|
|
|
- if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_COM) != RESET)
|
|
|
+ if ((itflag & (TIM_FLAG_COM)) == (TIM_FLAG_COM))
|
|
|
{
|
|
|
- if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_COM) != RESET)
|
|
|
+ if ((itsource & (TIM_IT_COM)) == (TIM_IT_COM))
|
|
|
{
|
|
|
__HAL_TIM_CLEAR_IT(htim, TIM_FLAG_COM);
|
|
|
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
|