Цитата(DenisIV @ Mar 4 2009, 07:27)

Именно TMR2, т.к. проц выключает свой тактовый генератор. Проблема в другом: именно в прерывании если просто выполнить sleep, проц от TMR2 не проснётся-прерывания-то выключены при входе в обработчик TMR1. А если их включить, то возможен бесконечный цикл/переполнение стека с TMR1. Вот я и думаю, что что-то здесь не так... Может остановить TMR1 и включить прерывания?
А в sleep нужно уходить максимально быстро...
Если попробовать использовать фиктивное прерывание. Берем какой нибудь вывод порта, надежно его заземляем, и настраиваем прерывания на перепад напряжения на этом выводе.
В TMR1 взводим флаг прерывания от того вывода и выходим из прерывания TMR1 срочным образом. И тут же попадаем в фиктивное прерывание, сбрасываем флаг, разрешаем глобальные прерыывания и уходим в sleep, тут не должно быть переполнения стека, потому что пока мы сами не сгенерируем прерывания от порта, они не появятся.