Спящий режим Arduino
С помощью библиотеки VEduino микроконтроллер ATmega328p можно перевести в один из шести режимов энергосбережения следующей тройкой команд:
#include <ve_avr.h>
DEV_SLEEP.setMode(SleepControl::PWR_DOWN); // Выбор режима сна
DEV_SLEEP.enableSleep(); // Разрешить переход в спящий режим
sleep(); // Переход в режим сна
Если прерывания включены (функция interrupts()
), то микроконтроллер выйдет из режима энергосбережения по прерыванию:
Если прерывания запрещены (функция noInterrupts()
), то "пробудить" микроконтроллер можно только нажатием кнопки сброса (низкий уровень на входе nRESET
).
По умолчанию функция sleep()
переводит микроконтроллер в режим IDLE.
Пример скетча можно найти в заметке Пробуждение Arduino из спящего режима по нажатию кнопки.
- Базовый заголовок (#include)
- Arduino как терминал
- Как увидеть PWM
- Почему-то программа перестала работать
- Дребезг контактов
- Какой потенциометр выбрать
- Спящий режим Arduino
- Как уменьшить размер скетча
- Как использовать сторожевой таймер микроконтроллера ATmega328p
- Экономия энергопотребления Arduino
- Таинственный таймер-счётчик 2 Arduino Leonardo
- Arduino и микроконтроллер ATmega8
- Как перезагрузить Arduino (программный рестарт)
- Как перезагрузить Arduino (холодный рестарт)