Arduino не сохраняет в EEPROM

Нет ответов
Dimanjy
Dimanjy аватар
Offline
Зарегистрирован: 18.11.2013

Столкнулся с проблемой сохранения данных в EEPROM на Arduino UNO.

Работаю с датчиком газов, который запитал прямо от 5V с платы UNO, хотя это не рекомендуется делать, потому что в датчике газов встроен нагреватель, который потребляет согласно описанию 150 мА.

Так вот, при питании только от USB значения в EEPROM сохраняются только пока есть питание. Т.е. можно жать RESET и значения вроде бы как в памяти сидят, а вот отключаешь от USB, и после повторного подключения записанных значений в EEPROM уже нету.

А вот когда подключил отдельное питание на плату UNO через черный разъем, то значения стали нормально сохраняться в EEPROM. Питание выдёргиваю, потом снова вставляю и, о чудо!, все значения нормально читаются из памяти.

Вот такая вот странная особенность. Такое впечатление, что из-за нехватки питания EEPROM работает как-то не очень :) В общем, это на будущее для тех, кто тоже будет полдня искать ошибку в программе, а она вовсе и не в программе.