Если периоды выполнения "действий" сопоставимы с периодом системной тактовой частоты, то либо неправильно выбрана тактовая частота, либо сам кристалл. Учитывайте что вызов прерывания и выход из прерывания это как минимум 11 тактов MCLK. Плюс еще действия по сохранению и восстановлению контекста (регистров). И вообще зачем вам обрабатывать прерывания таймера, если программа линейная и действия прогнозируемые? Опрашивайте и сбрасывайте в основной программе флаги прерываний таймера, это быстрее, чем каждый раз вызывать прерывания только для того, чтобы изменить метку времени.
|