TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: mrgse en 18 de Mayo de 2009, 08:14:20
-
hola intento escribir i leer datos de tipo float de una eeprom externa pero no se porque no me funciona correctamente. Me gustaria saber como guardar floats en la eeprom, y como recuperarlos tambien en float. GRACIAS!
-
muestranos código o algo hombre!!! que no sabemos lo que estas hciendo...
Así de primeras te digo que si tienes un float, necesitarás dos direcciones de eeprom para guardar todos los datos, una para la parte entera, siempre que no sea mayolr de 255, y otra dirección para la parte decimal, que deberas de multiplar por 100 antes de guardarla.
no se si me he explicado.
-
Una float se guarda en 4 posiciones de eeprom.
Hay librerias hechas de CCS para escrribir y leer una float, solo hay que usarlas... :mrgreen:
-
escribir i leer
:shock: i es la variable float :?:
-
#include "16F877.h"
#use delay(clock=4000000)
#fuses xt,nowdt,noput,nobrownout,nolvp,noprotect
#include "lcd.c"
#include <24515.c>
#include <external_eeprom.c>
#define EEPROM_SDA PIN_C4
#define EEPROM_SCL PIN_C3
void main(void)
{
float temperatura=5.02;
float t1;
int dir=0;
int dir2=0;
lcd_init();
init_ext_eeprom();
write_float_ext_eeprom(dir,temperatura);
lcd_gotoxy(1,1);
printf(lcd_putc,"T1=%2.2f",temperatura,);
t1=read_float_ext_eeprom(dir2);
lcd_gotoxy(1,2);
printf(lcd_putc,"T1=%2.2f",t1,);
}
-
El valor mostrado en la primera linea i el msotrado en la segunda no es el mismo...pork??