diff --git a/libraries/EEPROM/src/EEPROM.cpp b/libraries/EEPROM/src/EEPROM.cpp index bd15fdc..981aa64 100644 --- a/libraries/EEPROM/src/EEPROM.cpp +++ b/libraries/EEPROM/src/EEPROM.cpp @@ -88,8 +88,7 @@ void EEPROMClass:: update( int idx, uint8_t val ) uint32_t byte_idx = ((uint32_t)idx) % EEPROM_WORD_SIZE; // Извлечение нужного байта uint32_t byte = ((uint32_t)val) << ((EEPROM_WORD_SIZE - byte_idx - 1) * 8); - // uint8_t oldVal = (uint8_t)(( write_data_buf[word_idx] & (((uint32_t)0xFF) << ((EEPROM_WORD_SIZE - byte_idx - 1) * 8)) ) >> ((EEPROM_WORD_SIZE - byte_idx - 1) * 8)); - uint8_t oldVal = (uint8_t)(*((uint8_t*)write_data_buf + word_idx + (EEPROM_WORD_SIZE - byte_idx - 1))); + uint8_t oldVal = (uint8_t)(*((uint8_t*)write_data_buf + word_idx * EEPROM_WORD_SIZE + (EEPROM_WORD_SIZE - byte_idx - 1))); // Проверка того, что записанный байт отличается от нового if(oldVal != val) {