Проц atmega48PA вводится в Power Down режим:

SMCR = (2<<SM0); // power down
sei ();
sleep_enable ();
sleep_cpu (); // заснул
// ждет прерывания
sleep_disable(); // проснулся
Эта последовательность команд вызывается внутри прерывания по переполнению таймера 0.

Внешнее прерывание настроено так:

void ext_int_init (void) // инициализация внешнего прерывания
{
EICRA = (3<<ISC00); // The rising edge of INT0 generates an interrupt request.
EIMSK = (1<<INT0);
}

Прерывание (вне режима сна) работает правильно.

В пдф-е сказано, что в режиме power down внешние прерывания могут быть только типа level, поскольку входные буфера не тактируются. На входе INT0 у меня "0", и будится импульсами "1" (порядка 1-4мс).
Проверял, действительно ли в power down: насколько я понимаю, да, потому что таймер-счетчик стоит.

Где я ошибаюсь? Кто сталкивался, кто посоветует?
Понимаю, что вопрос может быть даже чисто теоретический, правильно было бы использовать Pin change int и не морочить никому голову, но все же хочется полного понимания процесса, потому что ошибка может закрасться совсем в другом месте.