Bonsoir à tous,
Je souhaiterais enregistrer deux variables dans la mémoire eeprom d'un arduino (pour la sauvegarder à chaque extinction et la reprendre au démarrage).
Je n'ai malheureusement pas encore l'arduino pour pouvoir l'essayer, cependant a priori il y aurait des problèmes dans ce code, quelqu'un serait il capable de me donner un coup de pouce et m'expliquer ce qui ne va pas ?
Voici le code (ce n'est pas le code complet mais seulement la partie qui compte l'enregistrement, les variables sont également "fictive"
Si quelqu'un peut me dire ce qu'il en pense ?Code:#include <EEPROM.h> int x = 0; // position en cours, ou reprise de la dernière position enregistré au lancement de l'arduino int positionpoursauv = 0; //stockage de la position pour sauvegarde int x2 = 0; // position en cours, ou reprise de la dernière position enregistré au lancement de l'arduino int positionpoursauv2 = 0; //stockage de la position pour sauvegarde void EEPROMWriteInt1(int adress, int value){ byte two = (value >> 8) & 0xFF; byte one = (value & 0xFF); EEPROM.write(adress, two); EEPROM.write(adress + 1, one); } int EEPROMReadInt1(int address){ int two = EEPROM.read(address); int one = EEPROM.read(address + 1); int x = ((two << 0) & 0xFF) + ((one << 8) & 0xFFFF); } int EEPROMReadInt2(int address){ int two = EEPROM.read(address); int one = EEPROM.read(address + 1); int x2 = ((two << 0) & 0xFF) + ((one << 8) & 0xFFFF); } void setup() { // lecture au démarrage de l'arduino du x de la dernière sauvegarde EEPROMReadInt1(0); EEPROMReadInt2(2); } void loop() { // suite à une action (inter) //reprise du nouveau x pour nouvelle sauvegarde int address; positionpoursauv = x; positionpoursauv2 = x2; // ecriture de la nouvelle position EEPROMWriteInt(address, positionpoursauv); address+=2; // ecriture de la nouvelle position EEPROMWriteInt(address, positionpoursauv2); }
Merci !
-----