Пробуждение происходит через сброс от собаки.
Причину сброса можно посмотреть в MCUCSR.
А текущее состояние приходится хранить в переменной, у которой проставлен признак .noinit
Такие переменные при включении/сбросе контроллера не инициализируются.
Соответственно, можно накрутить машину состояний, позиция которой живет в такой переменной.
И после перезагрузки анализировать, где мы и что мы.
Вот у меня на макетке сейчас крутится "секундомер" на дисплейчике, котороый реализован на вочдоге.
Дисплей+Мега во сне отребляют порядка 0,2мА (дофига на самом деле), в режиме пробуждения - порядка 11 мА на время порядка 75 мс.
Итого средний ток 0.44ма.
Добавлено after 5 minutes 25 seconds:
dadigor писал(а):Еще одна причина, по которой пора бы переходить на STM
Если вы тему прочитаете, то увидите, что в планах по часам есть переход на СТМ.
Хотя на данный момент основной платформой является АВР.
Сейчас, пока китайцы везут детали, идет вялотекущее обсуждение платформы для внешнего датчика.
По СТМкам есть один минус - шаг выводов 0.5 мм (вывод 0.24, зазор 0.26 мм). Это уже почти предел для большинства технологий.
Вон у
pin1000 хоть и фоторезист (китайский), но меньше 0.3/0.3 результат бывает рандомный.
В этом плане меги на порядок демократичней.