Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
EEPROM
Bonjour,
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.
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.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
EEPROM
EEPROM
Bonsoir Gwion ! :)
Via le menu utilisateur (Settings.c) je peux regler Setpoint_Temperature. Pour l'éditer je vais la chercher dans l'eeprom (La première fois que je met le jus), et j'obtiens 26 (J'ignore d'ou viens ce magic number). Je la modifie et j'écris 30 et valide. Le programme l'écrit et me renvoie dans le menu principal. Si je retourne la modifier, il va la lire et j'obtiens bien 30.
Seulement si après tout ça, je coupe le jus et je le remet, je recupère 26.
On dirait comme si elle était écrasé au démarrage, mais rien ne me saute aux yeux..
Via le menu utilisateur (Settings.c) je peux regler Setpoint_Temperature. Pour l'éditer je vais la chercher dans l'eeprom (La première fois que je met le jus), et j'obtiens 26 (J'ignore d'ou viens ce magic number). Je la modifie et j'écris 30 et valide. Le programme l'écrit et me renvoie dans le menu principal. Si je retourne la modifier, il va la lire et j'obtiens bien 30.
Seulement si après tout ça, je coupe le jus et je le remet, je recupère 26.
On dirait comme si elle était écrasé au démarrage, mais rien ne me saute aux yeux..
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 13 invités


