Прерывание при отключении питания Arduino
Знает ли кто-нибудь способ вызвать прерывание, когда Arduino теряет питание, чтобы он очень быстро выполнил небольшую функцию?
Это будет быстрая запись одной переменной в EEPROM.
Я знаю, что можно использовать прерывания на определенных контактах, когда на них подается низкий уровень, но я не уверен, возможно ли это на контакте питания.
Или если бы в контроллере все еще было достаточно мощности для завершения этой функции.
У меня есть плата Node MCU, но она запрограммирована на Arduino C++.
@Bigbob556677, 👍0
1 ответ
Лучший ответ:
Не напрямую, нет. Когда Arduino или ESP8266 теряет питание, оно теряется. Вам нужна внешняя схема, чтобы продолжать подавать питание после того, как вход питания был отключен, и оповещать целевой чип об отключении питания.
C1 хочет быть массивным. ESP8266, из-за интерфейса WiFi в нем, потребляет много энергии. Кроме того, запись в EEPROM или Flash (которая у ESP8266 вместо EEPROM) требует дополнительной энергии.
В идеале C1 должен быть небольшим Super-Cap, чтобы сохранить небольшой физический размер. Для ESP8266 речь, вероятно, идет о тысячах мкФ.
Альтернативой является использование микросхемы EERAM 47L16 (или аналогичной), которая предназначена для сохранения содержимого своей внутренней памяти SRAM во внутреннюю память EEPROM при отключении питания с использованием собственного выделенного конденсаторного резервуара питания.
- Преобразование byte* в int в Arduino
- ESP.deepSleep() — снова и снова?
- Прошивать NodeMCU с помощью .ino-файла?
- Уровень отладки ARDUINO IDE только для трассировки стека (nodeMCU 1.0)
- ESP8266 12-E не может подключиться ни к одной точке доступа с преобразованными переменными из строк в массивы символов
- Занимают ли комментарии место в скомпилированном скетче C++? Ардуино / узел микроконтроллера
- Пусть серво вращается когда файл был загружен на веб страницу
- C++ против языка Arduino?