Цитата
А можно "разжевать" построчно - что для чего?
можно.
Код
начало программы
настроить периферию (порты, ацп, uart и т.п. все с чем собираетесь работать)
разрешить режим сна (bit SE в MCUCR)
разрешить прерывания (sei)
Далее бесконечный цикл
10:
Выполнить какие-то поточные действия
Уснуть до следующего прерывания
goto 10
При старте программы настраивается периферия, разрешается режим сна и прерывания, выполняются какие-то рутинные действия и проц засыпает на команде sleep.
При возникновении любого прерывания (в режиме Idle) проц проснется, первой инструкцией которую он выполнит будет GOTO 10, потом он войдет в обработчик прерывания которое его пробудило, выполнит обработку прерывания, потом вернется к строчке 10: - выполнит какие-то поточные действия и на команде sleep() снова уснет... и так по кругу.