06.01.2016 16:17, Peter Crosthwaite пишет:
+ if ((old & 3) != (tb->control & 3)) { + ptimer_stop(tb->timer); + } + if (!(tb->control & 1)) { + break; + } + ptimer_set_period(tb->timer, timerblock_scale(tb)); + if ((old & 3) != (tb->control & 3)) { + value = ptimer_get_count(tb->timer); + timerblock_run(tb, value, 1);Is this reachable when the load value is still 0?
Yes, timer runs based on current counter value. You can load = 0 and set counter != 0 that would result in one-shot tick. Hmm... I need to fix it. Thanks for leading question!
Ughh... just noticed that test_timer_set_oneshot_count_to_0() on real HW sets IT bit if prescaler != 0. Looking into it..
-- Dmitry
