# 2020.12.02

add from  Дмитрий "AterLux"

sleep_bod_disable() должен выполняться за 4 такта до sleep_cpu(). Т.е. его нельзя так просто перенести в процедуру (поскольку на выход из процедуры тратится время). Аналогично sei() перед sleep_cpu() - они должны идти строго подряд:
после включения прерываний (sei()) AVR выполняет 1 инструкцию, перед тем как начать выполнять прерывания. Поэтому комбинация
sei();
sleep_cpu();
гарантирует что процессор перейдёт в спячку до того, как случится какое-то прерывание.
Если у нас до этого выполняются другие действия (завершение и возврат из функции) то прерывание может сработать в этом промежутке

...
