Go Down

Topic: [Resolu 24LC256] EEPROM FLOAT (Read 887 times) previous topic - next topic

powerpack

Feb 28, 2011, 09:14 am Last Edit: Feb 28, 2011, 10:39 pm by powerpack Reason: 1
bonjour

j'ai un Mega et je vousdrais sauvegarder des valeurs double et float ou double.
j'ai bien du code que j'ai trouvé sur le net mes sa ne fonctionne pas ?
cordialement
Code: [Select]

void EEPROM_writeDouble(int ee, double value)
{
   byte* p = (byte*)(void*)&value;
   for (int i = 0; i < sizeof(value); i++)
 EEPROM.write(ee++, *p++);
}

double EEPROM_readDouble(int ee)
{
   double value = 0.0;
   byte* p = (byte*)(void*)&value;
   for (int i = 0; i < sizeof(value); i++)
 *p++ = EEPROM.read(ee++);
   return value;
}


fdufnews

Quote
j'ai bien du code que j'ai trouvé sur le net mes sa ne fonctionne pas ?

Quel est le symptôme?

powerpack

Bonjour
Merci, le symptome ces que sa ne fait rien ? sa veut pas écrie dans la EEPROM du Mega.
L'orsque j'affiche la valeur sur le LCD ces 0.00  apres sauvegarde.
La fonction EEPROM.write(adr,don) fonctionnent parfaitement.

Cordialement Powerpack

Heloderma-kris

desoler de deterrer ce sujet mais  quelle est la solution trouver car cela m'interesse pour sauvgarder des donnée en float et les récuper biensur! :D
merci

skywodd


desoler de deterrer ce sujet mais  quelle est la solution trouver car cela m'interesse pour sauvgarder des donnée en float et les récuper biensur! :D
merci

Regarde dans le post #1, la personne à l'origine du topic à fournit les deux fonctions qui vont bien ;)

Ps: le double cast (byte*)(void*) n'est pas obligatoire je crois un simple cast (uint8_t*) devrait suffire.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Heloderma-kris

Merci skywodd
en fait comme je ne maîtrise pas encore les système de pointeur le code du poste 1 m'est inaccessible pour le moment lorsque j'aurai progresser dans la compréhension des pointeur et du langage C++ je reviendrait pour comprendre mais merci!
kris

Go Up