J'ai réalisé un code pour une eeprom (24FC1026) avec un pic18F46K22. J'ai su stocker des données plus d'un mois, tout s'est bien passé et j'ai ensuite voulu le faire évoluer et j'ai modifié plusieurs trucs dans l'eeprom mais aussi ailleurs.. Sauf que depuis, certaines données sont incohérentes dans la mémoire. Et j'ai pas fait de backup (grosse erreur oui..)
J'ai du 5V stable, condo de découplage associé proche de VCC, GND des composants.
J'ai fait un scan I2C qui est OK et NOK si j'enlève l'eeprom.
Bref niveau physique, j'ai pas trop de doute.
Cependant, dans mon code je me suis très certainement raté dans une modification et je ne parvient pas à percer ce mystère rendant mon circuit plutôt très inutile..
Je stock plusieurs données dans des espaces réservé. Prenons un exemple, je stock "SetPoint_Temp" (Variable globale). Au démarrage, sans l'avoir modifié il est a 26 (J'ignore ou il trouve 26 mais voila, c'est 26 même si j'initialise la variable globale a 20 par exemple dans le code..) Je stock donc 30 moi meme via mon menu utilisateur (Fichier Settings.c) et quand je retourne chercher la valeur, je retrouve bien 30. Mais si je coupe le jus, je revient a 26 d'après mon retour LCD..
Cependant, la variable SetPoint_Brightness (Variable globale) elle, si je stock 6, quand je coupe le jus et le remet, je recupére bien 6, elle, aucun souci.. Pareil pour le stockage de code a 4 chiffres que je fais, j'ai testé, il semble fonctionner
Je transmet le code EEPROM et la fonction de mon menu pour les 2 fonctions (tout au fond du fichier). Je précise que je suis amateur, ce n'est pas mon métier donc mon code va peut-être piquer certains
Si vous voulez voir autre chose pour pouvoir m'aider, dites-moi ! ;)Je serai par contre ravis d'avoir des retour constructif sur mon code eeprom pour le rendre meilleur, plus fiable dans le temps, ...
Merci d'avance,
Stefox.

