// Подключаем библиотеку для работы с энергонезависимой памятью #include // Функция для загрузки сохранённых последовательностей ИК-команд void eepromDataInit() { // Волшебное число int notFirstStartVal = 12345; // Переменная для считанного из EEPROM волшебного числа int val; // Если число, считанное по адресу 0 не равно волшебному... if (EEPROM.get(0, val) != notFirstStartVal) { // ... значит мы только что прошили скетч, и в EEPROM лежит мусор // Кладём в EEPROM волшебное число по адресу 0 EEPROM.put(0, notFirstStartVal); // Кладём в EEPROM пустой массив для хранения последовательностей ИК-команд // начиная с адреса 0 + размер волшебного числа EEPROM.put(sizeof(notFirstStartVal), irSygnals); } else { // Если волшебное число лежит в EEPROM, значит в EEPROM не мусор // Достаём записанные последовательности ИК-команд EEPROM.get(sizeof(notFirstStartVal), irSygnals); } } // Функция для записи последовательностей ИК-команд в энергонезависимую память void saveIRToEEPROM() { // Записываем последовательности, начиная с адреса 0 + размер волшебного числа EEPROM.put(sizeof(int), irSygnals); }