Go Down

Topic: Datos almacenados en EEPROM modificados al leer la EEPROM (Read 389 times) previous topic - next topic

gerasmg

Que tal, primero que nada gracias por contestar y déjame amplio el contexto de mi problema. Estoy ocupando un programa por el cual registro valores en la memoria EEPROM. Los datos que estoy tomando es del analogico este me envia valores de 0 a 1023. A la hora de utilizar mi segundo programa el cual utilizo para leer la EEPROM me muestra datos que no son los que se registraron y se guardaron. A continuacion el programa para lectura de datos en EEPROM.

En la imágenes que añadí se muestra la lectura y el dato que obtengo en la segunda imagen se puede ver que al leer la EEPROM no me muestra los mismos.

Code: [Select]





#include <EEPROM.h>

// start reading from the first byte (address 0) of the EEPROM
int address = 0;
byte value;

void setup() {
 // initialize serial and wait for port to open:
 Serial.begin(9600);
 while (!Serial) {
   ; // wait for serial port to connect. Needed for native USB port only
 }
}

void loop() {
 // read a byte from the current address of the EEPROM
 value = EEPROM.read(address);

//
 if (address<=10){
 float volts_divisor=value*4.5/1023.0;//Para valores de 4.5 a 0v
 //float volts_panel=map(volts_divisor,0,4.5,0,21.0); //Maneja lectura de panel
 float volts_panel=(volts_divisor*21.0)/4.5;
 Serial.print(address);
 Serial.print("\t");//Tabulador
 Serial.print(value);
 Serial.print("\t");
 Serial.print(volts_divisor);
 Serial.print("\t");
 Serial.print(volts_panel);
 Serial.println();


 address = address + 1;
 if (address > 10) {
   //address = 0;
 }



 delay(500);
 }
}





gerasmg


noter

Si pones tu programa actual, podremos decirte qué modificar, aunque los síntomas indican que estás intentando guardar/recuperar en EEPROM valores fuera del rango byte (valor máximo 256). Deberás utilizar más de una posición de EEPROM si quieres almacenar valores mayores, descomponiendo y recomponiendo dicho valor para escribirlo o recuperarlo.

surbyte

Luce como que pretender almancenar un entero y luego solo lees un byte. Como dijo noter postea el código y hazlo luego de leer las normas porque estoy seguro que no sabes que debes usar etiquetas. En tu caso </>
Mira bien como se hace. Mira otros hilos y usa preview antes de hacer click en POST para asegurarte que luce como debe.

Go Up