Ajuda com eeprom

Olá,

Pretendia gravar um valor maior que 255, nomeadamente um valor que pode ir até aos 2000 ou 5000, tenho estado a ver a nova biblioteca EEPROM mas não sei bem qual a função a usar.

Basicamente é mesmo só gravar o valor do tipo int só que é bem maior que os 255, dá para fazer usando a biblioteca referida?

Obrigado

http://nongnu.org/avr-libc/user-manual/group__avr__eeprom.html

Incrivelmente... A equipa do arduino deve estar ocupada demais para fazer as coisas como deve ser, ou no minimo, apontar as pessoas para o local correcto.

O que tu queres está aqui:
http://nongnu.org/avr-libc/user-manual/group__avr__eeprom.html

A função é eeprom_write_word().

bubulindo, obrigado.

Deve ter sido azelhice minha mas sinceramente não estava a perceber bem como utilizar depois de ler o texto.

Como identificaste a função já consegui saber ao certo o que tenho de usar!

Nao tem mal... diz se funciona ja que a documentacao nao e tao clara como a do Arduino.

A EEPROM, e definitivamente algo que poderia ser bastante melhorado mas ninguem se deu ao trabalho.

Fiz assim um teste muito rápido e parece estar a funcionar como pretendia :slight_smile:

#include <avr/eeprom.h>
int addr = 1;
int Valor = 5666;
int Ler_Valor;

void setup() {
  Serial.begin(9600);
  delay(2000);

  eeprom_write_word((uint16_t*)addr, sensorValue);
  delay(5000);
  
  Ler_Valor = eeprom_read_word((uint16_t*)addr);
  Serial.println(Ler_Valor);
}

void loop() {
  delay(50);
}

almamater,

eu acabei de usar a lib EDB em um projeto para armazenar e recuperar dados (vários registros) na EEPROM e gostei bastante, muito fácil de usar. Deixo com dica, caso seu projeto fique maior.

EDB
http://www.arduino.cc/playground/Code/ExtendedDatabaseLibrary