У вас уже есть элемент magi c в вашей структуре, который вы можете проверить на его особое значение после чтения EEPROM.
/*...*/
EEPROM.get(addr, creds);
if (creds.was_set != 9090) {
/* set default values */
}
/*...*/
Большинство приложений реализуют контрольную сумму не только для проверки неустановленных данных, но также и для измененных данных. Алгоритм зависит от ваших потребностей, но не придумывайте ничего нового, используйте известные, например CR C.
Изменить:
В зависимости от размера вашего магического c числа или контрольной суммы всегда будет небольшая вероятность того, что случайный набор битов будет распознан как правильный / инициализирован. При 32-битном значении эта вероятность никогда не может быть меньше 2 ^ (- 32), что составляет примерно 1 из 4 миллиардов.
Контрольная сумма имеет то преимущество перед значением magi c, что все значения равны учтено.
100% безопасности не бывает.