diff options
-rw-r--r-- | os/hal/ports/STM32/LLD/TIMv1/st_lld.h | 1 | ||||
-rw-r--r-- | os/rt/src/chvt.c | 5 |
2 files changed, 3 insertions, 3 deletions
diff --git a/os/hal/ports/STM32/LLD/TIMv1/st_lld.h b/os/hal/ports/STM32/LLD/TIMv1/st_lld.h index 571396d91..8adba0de3 100644 --- a/os/hal/ports/STM32/LLD/TIMv1/st_lld.h +++ b/os/hal/ports/STM32/LLD/TIMv1/st_lld.h @@ -165,7 +165,6 @@ static inline void st_lld_stop_alarm(void) { static inline void st_lld_set_alarm(systime_t time) {
STM32_ST_TIM->CCR[0] = (uint32_t)time;
- STM32_ST_TIM->SR = 0;
}
/**
diff --git a/os/rt/src/chvt.c b/os/rt/src/chvt.c index 58fce1f6d..8ec94e4e4 100644 --- a/os/rt/src/chvt.c +++ b/os/rt/src/chvt.c @@ -217,6 +217,7 @@ void chVTDoResetI(virtual_timer_t *vtp) { /* Removing the first timer from the list.*/
ch.vtlist.vt_next = vtp->vt_next;
ch.vtlist.vt_next->vt_prev = (virtual_timer_t *)&ch.vtlist;
+ vtp->vt_func = NULL;
/* If the list become empty then the alarm timer is stopped and done.*/
if (&ch.vtlist == (virtual_timers_list_t *)ch.vtlist.vt_next) {
@@ -230,9 +231,9 @@ void chVTDoResetI(virtual_timer_t *vtp) { /* If the new first timer has a delta of zero then the alarm is not
modified, the already programmed alarm will serve it.*/
- if (ch.vtlist.vt_next->vt_delta == 0) {
+/* if (ch.vtlist.vt_next->vt_delta == 0) {
return;
- }
+ }*/
/* Distance in ticks between the last alarm event and current time.*/
nowdelta = chVTGetSystemTimeX() - ch.vtlist.vt_lasttime;
|