Цитата(Electronic) @ Oct 6 2008, 11:48)

....добавлю что в книге написано что контроллер сам выходит из спящего режима по любому прерываю что доступно в данном режиме. или может напутали и всё таки нужна какая то команда?
По коду ничего сказать не могу, т. к. не пишу на СИ, но в ДШ написано, что чтобы контроллер вышел из режима слип, нужно, чтобы прерывания инт0/1 были насторены как прерывания по низкому уровню (что в вашем случае по-моему выполнено - MCUCR = 0xa0), во-вторых низкий уровень на соответствующем пине должен держаться на время старта контроллера (задается фьюзами SUT) плюс некоторое время, необходимое на детектирование прерывания. Также неплохо-бы запретить вход в режим слип по пробуждению. Добавлю также, что флаг внешнего прерывания, если оно настроено в режим прерывания по низкому уровню установлен до тех пор, пока условия прерывания не исчезнут, т.е. флаг равен 1 пока на нужной ноге низкий уровень. Поэтому обработчик прерывания будет выполняться пока прерывание разрешено и на нужной ноге присутствует низкий уровень.