Опубликовано: 04.02.2018 14:37
Автор: genaonyx
Приветствую вас, сегодня я делюсь с вами моим тестом, а точнее тестами энергонезависимой памяти EEPROM на наличие битых или испорченных байтов. На мой взгляд, полезный тест на проверку работоспособности памяти EEPROM после долгой эксплуатации, а так же проверка, если ваши данные, настройки и прочее начали неожиданно сбиваться.
#include "EEPROM.h"
void setup()
{
byte eData, tData1, tData2, tData3 = 0;
Serial.begin(9600);
Serial.println("Arduino EEPROM Test v1.0");
Serial.println("http://arduino.on.kg");
// Проходим в цикле всю память EEPROM.
for (int i = 0; i < EEPROM.length(); i++)
{
// Запоминаем то, что записано в EEPROM.
eData = EEPROM.read(i);
// Записываем в ячейку EEPROM нули.
EEPROM.write(i, 0);
tData1 = EEPROM.read(i);
if (tData1 != 0)
{
Serial.print("Cell ");
Serial.print(i);
Serial.println(" is corrupted (Test 1).");
continue;
}
// Записываем в ячейку EEPROM единицы.
EEPROM.write(i, 255);
tData2 = EEPROM.read(i);
if (tData2 != 255)
{
Serial.print("Cell ");
Serial.print(i);
Serial.println(" is corrupted (Test 2).");
continue;
}
// Восстанавливаем данные в EEPROM.
EEPROM.write(i, eData);
tData3 = EEPROM.read(i);
if (tData3 != eData)
{
Serial.print("Cell ");
Serial.print(i);
Serial.println(" is corrupted (Test 3).");
continue;
}
}
Serial.println("The test is completed.");
}
void loop()
{
// Пустой цикл.
}
Если у Вас есть опыт в работе с Arduino и собственно есть время для творчества, мы приглашаем всех желающих стать авторами статей публикуемых на нашем портале. Это могут быть как уроки, так и рассказы о ваших экспериментах с Arduino. Описание различных датчиков и модулей. Советы и наставления начинающим. Пишите и размещайте свои статьи в соответсвующей ветке форума.