mirror of
https://github.com/apache/nuttx.git
synced 2026-06-05 15:58:59 +08:00
xtensa/esp32-s2/rttimer: Disable alarm before setting a new value and enabling it
This commit is contained in:
committed by
Gustavo Henrique Nihei
parent
33f2d46bff
commit
8a142f474e
@@ -176,6 +176,7 @@ static void start_rt_timer(struct rt_timer_s *timer,
|
|||||||
{
|
{
|
||||||
/* Reset the hardware timer alarm */
|
/* Reset the hardware timer alarm */
|
||||||
|
|
||||||
|
ESP32S2_TIM_SETALRM(priv->timer, false);
|
||||||
ESP32S2_TIM_SETALRVL(priv->timer, USEC_TO_CYCLES(timer->alarm));
|
ESP32S2_TIM_SETALRVL(priv->timer, USEC_TO_CYCLES(timer->alarm));
|
||||||
ESP32S2_TIM_SETALRM(priv->timer, true);
|
ESP32S2_TIM_SETALRM(priv->timer, true);
|
||||||
}
|
}
|
||||||
@@ -254,6 +255,7 @@ static void stop_rt_timer(struct rt_timer_s *timer)
|
|||||||
list);
|
list);
|
||||||
alarm = next_timer->alarm;
|
alarm = next_timer->alarm;
|
||||||
|
|
||||||
|
ESP32S2_TIM_SETALRM(priv->timer, false);
|
||||||
ESP32S2_TIM_SETALRVL(priv->timer, USEC_TO_CYCLES(alarm));
|
ESP32S2_TIM_SETALRVL(priv->timer, USEC_TO_CYCLES(alarm));
|
||||||
ESP32S2_TIM_SETALRM(priv->timer, true);
|
ESP32S2_TIM_SETALRM(priv->timer, true);
|
||||||
}
|
}
|
||||||
@@ -473,6 +475,8 @@ static int rt_timer_isr(int irq, void *context, void *arg)
|
|||||||
timer = container_of(priv->runlist.next,
|
timer = container_of(priv->runlist.next,
|
||||||
struct rt_timer_s, list);
|
struct rt_timer_s, list);
|
||||||
alarm = timer->alarm;
|
alarm = timer->alarm;
|
||||||
|
|
||||||
|
ESP32S2_TIM_SETALRM(priv->timer, false);
|
||||||
ESP32S2_TIM_SETALRVL(priv->timer, USEC_TO_CYCLES(alarm));
|
ESP32S2_TIM_SETALRVL(priv->timer, USEC_TO_CYCLES(alarm));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user