Я пытаюсь понять, как запрограммировать avr в модели, основанной на событиях, где он реагирует на то, что происходит вокруг него.
После прочтения руководства по моему чипу (ATmega16a) и поиска в Google я так и не смог найти точного ответа на свой вопрос.
Оба руководства по avr-libc я нашел http://www.atmel.com/webdoc/AVRLibcReferenceManual/group__avr__sleep.html и http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html настаивает на том, что рекомендуется включать спящий режим (установить бит SE) непосредственно перед входом в спящий режим и отключать его после (очисткой SE). Какой цели служит эта битовая перетасовка? Почему я не могу просто включить спящий режим один раз при сбросе, а затем свободно войти в него, просто выполнив инструкцию «сна» там, где это необходимо?