Как я могу проверить, записана ли EEPROM в Arduino?

Я хочу закодировать оператор if в настройке моего проекта arduino uno, псевдокод будет примерно таким:

Если n-й слот памяти EEPROM не пуст, то сделайте что-нибудь.

Итак, что я сделал:

if((EEPROM.read(n) != 0)

Думая, что 8-битная последовательность, инициализированная значением 0, будет равна целому числу 0, но что-то явно не так, потому что утверждение всегда истинно.

Спасибо за ваше время!


person zurg    schedule 07.06.2018    source источник


Ответы (1)


Хорошо, я сделал простой тест, прочитав всю EEPROM с помощью этого скрипта:

#include <EEPROM.h>

int a = 0;
int value;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  value = EEPROM.read(a);

  Serial.print(a);
  Serial.print("\t");
  Serial.print(value);
  Serial.println();

  a = a + 1;

  if (a == 512)
    a = 0;

  delay(500);
}

И я обнаружил, что EEPROM инициализирован на 11111111, поэтому 255, до сих пор не понимаю, почему, но ладно, проблема решена!

person zurg    schedule 07.06.2018