Go Down

Topic: [Resolu 24LC256] EEPROM FLOAT (Read 606 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;
}

Windows Certif MCSA. Electronicien.
Arduino Mega 2560.
68hc11F1, 68705U3, 68705P3.
Perl,Java,ABAP,VB,VBS,VBnet,Php,Asp,Css,C,C++,C#,MySql,S

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
Windows Certif MCSA. Electronicien.
Arduino Mega 2560.
68hc11F1, 68705U3, 68705P3.
Perl,Java,ABAP,VB,VBS,VBnet,Php,Asp,Css,C,C++,C#,MySql,S

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