Здравствуйте. Я понимаю что данная тема многократно поднималась и документации должно быть много.
Я просто хотел уточнить, правильно ли я всё делаю.
Имеется AVR Studio 6. И tiny2313 Рабочая частота - 8 МГц. Напряжение - 5 В. Надо его на время переводить его в режим пониженного энергопотребления.
Имеются разрешённые и используемые внешние прерывания.
Собственно, говоря, внутри ISR этих прерываний вся программа и работает.
Почитав даташит, сделал так:
Код
unsigned long m_sleep_counter = 0;
...
...
...
main()
{
.....
.....
.....
while(1){
if (++m_sleep_counter > 10000){
m_sleep_counter = 0;
sleep_enable();
set_sleep_mode(0);
}
.....
}
К сожалению сейчас скорость выхода из спящего режима на макете оценить сложно. Поэтому имеются вопросы:
Ток потребления при переходе из активного режима в спящий (IDLE) падает с 12 до 5 мА.
Как-то много остаётся, или я ошибаюсь?
Какая скорость выхода из спящего режима (IDLE)?
Надо ли что-то конфигурировать для определения условия выхода из спящего режима?