roboforum.ru

Технический форум по робототехнике.


mega328P и SLEEP_MODE_PWR_DOWN

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

mega328P и SLEEP_MODE_PWR_DOWN

Сообщение Raskolin » 02 фев 2014, 01:27

Добрый вечер. Вопрос:
Перевожу контроллер с помощью данной функции в режим пониженного энергопотребления.
Через какое то время он просыпается от сигнала будильника, но вместо того что бы продолжить
выполнять алгоритм он отключает все выходы и более не реагирует. :/ Пробовал после пробуждения
отключить все прерывания и переинициализировать периферию, но безрезультатно.

void sleep_mega328p(void)
{
pin_dir(P_D, PD2, IN);
pin_high(P_D, PD2);
cli();
EICRA=0x02;
EIMSK=0x01;
EIFR=0x01;
PCICR=0x00;
sei();
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_mode();
EIMSK = 0;
}
Raskolin
 
Сообщения: 20
Зарегистрирован: 22 мар 2011, 01:02

Re: mega328P и SLEEP_MODE_PWR_DOWN

Сообщение citizen » 03 фев 2014, 00:44

просыпается от сигнала будильника

Что за будильник?
Из режима SLEEP_MODE_PWR_DOWN контроллер может выйти только от watchdog и внешнего прерывания.
OpenSimpleLidar - проект простого самодельного лидара.
Аватара пользователя
citizen
 
Сообщения: 369
Зарегистрирован: 12 окт 2008, 12:40
Откуда: Красногорск, Подмосковье


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 27