Vovan писал(а):Думаю задержки любого вида приведут к накоплению погрешности (Michael_K)
Я не понимаю этой фразы.
С фига ли? Не хочешь накапливать погрешность - не делай так, чтобы она накапливалась.
Запусти таймер пусть отсчитывает свои тактики. А ты их считай.
В цикле, счетчиком, в мэйне, в прерывании - это все равно.
Таймер только не останавливай - погрешность и не будет накапливаться.
Добавлено спустя 16 минут 52 секунды:Грубо говоря, ставишь кварц на 8 Мгц, предделитель 1024, делаешь таймер с переполнением например на 31250.
Получаешь встающий флажок раз в четыре секунды. Аппаратно.
Хочешь прерывание вешай, хочешь в цикле жди, пока он встанет - главное не пропускай.
Это ведь не очень сложно - не пропускать события, происходящие раз в 4 секунды?
Не обязательно реагировать немедленно, ну проверил - отпработал, сбросил - главное в 4 секунды уложиться.
По-моему не такая уж сложная задача... Или как?
Можно и прерывание повесить - без проблем же.