diff --git a/src/thread.c b/src/thread.c index 7a90e57f2574e7f3242324f88a8ec2944349c72b..49e2022bf7a275a302ff0b0efd5e5894e4ece15a 100644 --- a/src/thread.c +++ b/src/thread.c @@ -569,7 +569,7 @@ rt_err_t rt_thread_delay_until(rt_tick_t *tick, rt_tick_t inc_tick) if (rt_tick_get() - *tick < inc_tick) { - *tick = rt_tick_get() - *tick + inc_tick; + *tick = *tick + inc_tick - rt_tick_get(); /* suspend thread */ rt_thread_suspend(thread);