Палыч, спасибо за ответ.
Цитата(Палыч @ Dec 16 2010, 20:39)

обычно, желательно в обработчике прерываний выполнять минимум действий (например, выставить флаг события и - всё), а в основной программе (обычно она - бесконечный цикл) проверять условия наступления тех или иных условий и выполнять соответствующие действия...
Тут такой ньюанс есть... Данная программа - промежуточная. После ее написания, мне нужно будет "перенести" ее под ОС реального времени(scmRTOS). Может моя логика и ошибочная, но я уже сейчас пытаюсь сделать так, чтобы реакция на событие, вызывающее внешнее прерывание, была определенной по времени(для наиболее приоритетного события). Если обработчик прерывания только выставит флаг, то реакция на событие последует тогда, когда в основной программе дойдет очередь до проверки этого флага. А это может занять слишком много времени и реакция будет несвоевременной.
Цитата
Наверное, было бы лучше вместо задержки в прерывании завести на секунду таймер и выйти из прерывания, а уж по прерыванию от таймера доделать всё то, что собирались сделать по п.3 - проверить выход на номинальный режим и соответствующая реакция.
Вот эта идея мне нравится, но в условиях моей задачи, в худшем случае, может возникнуть такая ситуация:
В течении секунды, но асинхронно, всем 4-рем однотипным обработчикам прерываний(но разного приоритета) понадобится таймер. Как-нибудь можно разрешить эту ситуацию? Мой МК - AVR ATmega 128.
rezident, интересный метод, правда у меня нет ощущения, что я его правильно понял. Попробую разобраться, когда будет время. Спасибо.