Сохраниние в еепром
- Войдите на сайт для отправки комментариев
Втр, 20/02/2018 - 14:34
Есть переменная
unsigned long hour;
Она меняется раз в час до значения равному 8. Когда hour = 8, делает определенное действие и меняется на ноль. Цикл повторяется постоянно.
Нужно сделать так, чтобы значение hour никуда не пропадало после отключения питания.
т.е если при hour = 6 выключено питание, при повторном знач. питании hour опять равнялся 6 и продолжал работу.
Это платный раздел.
Нужен весь скетч, либо контекст использования hour.
htpicc@gmail.com
Сделаю для вас скетч. Обсудим на почте.
Azat222@gmail.com
#include <EEPROM.h> #define TIMER_EEPROM_ADDR 0 // адрес сохранения таймера в епроме uint8_t timeLimit; // буфер счетчика лимита времени в озу uint32_t timer; // таймер для подсчета временных интервалов void setup() { // "наказать" за каждое включение, сократив лимит на час timeLimit=EEPROM.read(TIMER_EEPROM_ADDR); // считать из епрома старый счетчик timer=millis()-6000; // засечь таймер } void loop() { if (millis()-timer>60000){ // час прошел if (timeLimit<255){ // счетчик еще не переполнился EEPROM.write(TIMER_EEPROM_ADDR,++timeLimit);// увеличить счетчик часов в епроме timer+=60000; // перезасечь таймер } else { // счетчик накопил 255 часов работы while(1); // сделать гадость } } }