Как я могу проверить, написана ли EEPROM на Arduino? - PullRequest
0 голосов
/ 07 июня 2018

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

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

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

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

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

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

1 Ответ

0 голосов
/ 07 июня 2018

Хорошо, я сделал простой тест, читая все 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, до сих пор не понимаю, почему, но хорошо, проблема решена!

...