Добрый день! Подскажите, как правильно реализовать перевод МК в спящий режим и его побудка одной кнопкой.
Пробую реализовать это на МК 2313, к порту PD6 подключена кнопка второй ногой на землю, а к порту PB2 анод светодиода, в катод резистор и на плюс питания для проверки режима работы, т.е. после подачи питания мигает диод, затем по нажатию кнопки он засыпает, следующее нажатие - проснулся. Прочитал книгу Белова по программированию МК и в частности по регистру управления МК MCUCR, но вопросы. Составил алгоритм работы программы:
1. инициализация мк
2. настройка портов PD как вход, PB - выход
3. проверка состояния нажата кнопка - если нет - работает цикл мигания диодом, иначе прерывание
4. в прерывании проверяем, что записано в регистре SE и если 0 - ставим 1, иначе выход из прерывания
5. команда спать и ожидание нового прерывания.
подскажите, все ли правильно продумал.
черновой вариант коде=а выложу завтра на cvavr