Страница 1 из 1

Вход в режим сна для ATmega16

Добавлено: Сб фев 11, 2017 20:18:31
eduardo
Здравствуйте.Сотворил велокомпьютер и после тестирования забыл выключить,итог--сожрало заряд батарей. Возникла необходимость ввода в сон меги16,чтоб батареи не жрала и дисплей гасила.Датчик оборотов подключён к INT0,прерывание по нарастающему фронту.Для создания тайм-аута для входа в сон я выбрал таймер1(для начала 1 минута). Хотелось бы,чтоб контроллер по истечении минуты при отсутствии импульсов с датчика гасил всё(фары,дисплей)и сам бы залёг в спячку до появления импульсов сдатчика. Короче,надо чтоб пробуждение происходило по событию на INT0. В проекте код набросал,но в Протеусе по истечении минуты программа перестаёт работать,но дисплей и фары не гасит.. Подскажите пожалста,как правильно всё оформить и что я сделал не так???!!! Спасибо..

Re: Вход в режим сна для ATmega16

Добавлено: Сб фев 11, 2017 21:53:44
Demiurg
Здесь почитайте.

Re: Вход в режим сна для ATmega16

Добавлено: Вс фев 12, 2017 18:20:40
codenamehawk
В протеусе для отладки укажите файл велокомп 2.cof, станет доступна пошаговая отладка.
eduardo писал(а):Короче,надо чтоб пробуждение происходило по событию на INT0.
Вообще то просыпание проца из режима Power Down возможно только по уровню на Int1.
"Only INT2 or level interrupt INT1 and INT0"
Перед сном запретите WatchDog, так как он продолжает работать.

Проверку режима сна одновременно проверяйте и в железе.