Режимы энергосбережения Sleep Modes

Ради достижения цели перевода во всякий из 3 имеющихся режимов энергосбережения бит SE в регистре MCUCR обязан быть установленным в позицию 1. Биты SM1 и SM0 регистра MCUCR выражают один из режимов Idle, PowerDown либо PowerSave.

Когда происходит прерывание в период пребывания MCU в режиме энергосохранения, MСU инициируется, исполняет программу отделки прерывания и продолжает активное функционирование перед последующей командой SLEEP. Когда в период энергосбереженья выходит сброс, MCU оживляется и предпринимает страду сообразно вектору. Содержание SRAM и памяти во время активации не претерпевает каких-либо трансформаций.

Стоит подчеркнуть, что когда ради возвращения из порядка PowerDown либо PowerSave, задействуется запуск прекращения сообразно уровню, то невысокая степень обязана держаться порядком длительнее, чем период задержки сброса tTOUT.

Iddle

Когда биты SM1/SM0 находятся в положении 00 общество SLEEP переводит MCU в строй Idle, удерживая CPU однако вверяя активными таймеры/счетчики, сторожевой таймер и систему прерываний. Это страхует активацию MCU внешними прерываниями и такими домашними прерываниями, словно переполнение таймера и конец способа UART.Когда активация сообразно аналоговому компаратору не нуждается, то аналоговый компаратор может являться отключен установкой бита ACD в регистре управления и статуса аналогового компаратора ACSR. Это позволит точный снизить потребление в Idle режиме. Присутствие активации MCU из Idle порядка CPU предпринимает исполнять программу незамедлительно.

PowerSave

При установке битов SM1/SM0 в положение 11 SLEEP переводит MCU в строй PowerSave. Сей строй, после некоторым уклонением, полностью подобен режиму Power Down. Когда таймер тактируется асинхронно, т.е. бит AS0 в регистре ASSR установлен, таймер довольно трудится в режиме PowerSave. MCU довольно активироваться прекращениями сообразно переполнению либо совпадению выхода таймера. Такие дела.

Интересные записи