Страница 1 из 1
Вопрос об энергосбережении AVR
Добавлено: Пт фев 22, 2013 22:31:26
Ромыч
Приветствую! собрал открывалку ворот в брелке сигнализации, питание оставил штатное. тинька13 в режиме ожидания (то есть крутится пустой цикл) жрет 6 мА. Батарейки типа АА хватает на день... Как можно приструнить аппетиты тиньки?
Re: Вопрос об энергосбережении AVR
Добавлено: Пт фев 22, 2013 22:35:58
korsaj
Усыпить!

Re: Вопрос об энергосбережении AVR
Добавлено: Пт фев 22, 2013 22:37:14
Ромыч
блин)) логичный шаг
но как это сделать то?
Re: Вопрос об энергосбережении AVR
Добавлено: Сб фев 23, 2013 01:25:15
JeysonRou
Ромыч писал(а):блин)) логичный шаг
но как это сделать то?
На каком языке ты пытаешся это сделать Си, Бейсик?
Чтобы я хоть знал что и как тебе обьяснять)
Re: Вопрос об энергосбережении AVR
Добавлено: Сб фев 23, 2013 08:30:01
Ромыч
точно, забыл указать. пишу в студии на сях
Re: Вопрос об энергосбережении AVR
Добавлено: Сб фев 23, 2013 08:54:40
Vov123
Там по адресу ....Atmel\AVR Tools\AVR Toolchain\avr\include\avr ,для "писателей" есть хидер,sleep называется,там всё и написано.
Re: Вопрос об энергосбережении AVR
Добавлено: Сб фев 23, 2013 22:11:57
Ромыч
пришлось перекодить в cvavr (по некоторым обстоятельствам). В итоге не могу вывести из сна.
Код: Выделить всё
///////////внешнее прерывание. обработчик.
interrupt [EXT_INT0] void ExtInt0(void)
{
MCUCR &= ~( 1 <<SE); //пробывал так
MCUCR |= ( 1 <<SE); // и так
sleep_disable(); // и даже так
};
}
на INT0 - кнопка на землю. Не выходит из сна и все. Прерывания включены
Re: Вопрос об энергосбережении AVR
Добавлено: Вс фев 24, 2013 07:28:35
vitalik_1984
А она точно на землю замыкается? А то я тогда перепутал ноги - ведь Int0 находится на ноге PB1.
И вообще зачем вам выключать режим сна? Делайте в прерывании все что вам нужно и дальше спать.
Либо в основном цикле то, что нужно, а в конце цикла - сон.Просыпаться по прерыванию INT0.
Re: Вопрос об энергосбережении AVR
Добавлено: Вс фев 24, 2013 15:37:41
codenamehawk
Ромыч писал(а):
на INT0 - кнопка на землю. Не выходит из сна и все. Прерывания включены
Как настроены прерывания, выкладывайте всю программу, зачем показывать код прерывания если он не срабатывает?