diff --git a/sys/ztimer/core.c b/sys/ztimer/core.c index 2230f0cfc6..198bf3bd40 100644 --- a/sys/ztimer/core.c +++ b/sys/ztimer/core.c @@ -296,7 +296,13 @@ static void _ztimer_update(ztimer_clock_t *clock) clock->ops->set(clock, clock->list.next->offset); } else { - clock->ops->cancel(clock); + if (IS_USED(MODULE_ZTIMER_NOW64)) { + /* ensure there's at least one ISR per half period */ + clock->ops->set(clock, clock->max_value >> 1); + } + else { + clock->ops->cancel(clock); + } } } }