segunda-feira, 11 de janeiro de 2010

Biblioteca EEPROM

O microcontrolador Arduino tem 512bytes de EEPROM (memória na qual os valores ficam armazenados mesmo sem alimentação) disponível para uso. Esta biblioteca proporciona a leitura e a escrita desses bytes.

A função EEPROM.write(address, value)

Escreve um byte na EEPROM.

adress: O local para escrever (endereço), de 0 até 511 (tipo int)

value: o valor para escrever, de 0 até 255 (tipo byte (binário))

O datasheet do Atmega (uControlador Arduino) diz que a sua EEPROM tem uma vida útil de 100.000 ciclos de leitura/escrita, o que significa que 100.000 é o limite para você poder obter dados desta memória. Tenha isso em mente para projetos que demandem grande expectativa de via útil e muita movimentação de dados.

Também especifica que um ciclo de escrita demora 3,3ms para ser completado, sendo assim não precisa criar um delay para isto, porém sempre tenha cuidado com manipulação muito rápida de dados.
 
Exemplo:

#include

void setup()
{
  for (int i = 0; i < 512; i++)
    EEPROM.write(i, i);
}

void loop()
{
}



A função EEPROM.read(address)

Lê um byte da EEPROM, sendo que os endereços que constarem como nulos (que nunca tenham sido gravados), irão assumir 255 como valor.

address: o local a ser lido, de 0 até 511 (tipo int)

Retorna o valor gravado no endereço especificado.

Exemplo:

#include

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);
}

0 comentários:

Postar um comentário