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
Une variable globale et un paramètre de fonction sont 2 choses différentes. Le paramètre est une variable éphémère créée sur la pile lors de l'appel de fonction, que la fonction utilise, et cette variable disparaît à la fin d'exécution de la fonction. Quel rapport avec une variable globale ?
Le C a accepté car il a bien créée cette variable en plus de la variable globale, mais le programme est confus, et c'est un appel de bugs.
Si tu veux que je debugge, fais moi un zip de tous les sources et met le en message perso. Pas un zip du projet car ce serait trop gros.
Le C a accepté car il a bien créée cette variable en plus de la variable globale, mais le programme est confus, et c'est un appel de bugs.
Si tu veux que je debugge, fais moi un zip de tous les sources et met le en message perso. Pas un zip du projet car ce serait trop gros.
EEPROM
EEPROM
EEPROM
EEPROM
EEPROM
Il reste encore des adresses incorrectes 0x58, pourquoi créer des defines et ne pas les utiliser.
Commence par faire en sorte qu'ils n'y ait plus de warnings à la compilation (cast). Cela t'enlèvera au moins un bug. Les warnings "This function is never called" peuvent rester, bien que si non appelées ces fonctions devraient être en commentaire.
Commence par faire en sorte qu'ils n'y ait plus de warnings à la compilation (cast). Cela t'enlèvera au moins un bug. Les warnings "This function is never called" peuvent rester, bien que si non appelées ces fonctions devraient être en commentaire.
EEPROM
EEPROM
EEPROM
J'ai du mal à simuler sans RTC.
Je ne vois pas pourquoi tu essaies de stocker à la fois sur les 2 zones eeprom de 0x4000.
Le premier bloc fait 64k, c'est pas assez ?
EEPROM_ClearBank_0() efface toujours la zone réservée. Pourquoi tu ne mets pas la zone réservée en 0x8000 par exemple
Regarde ce que cela donne en inversant les defines :
Pourquoi tu ne veux pas faire la fonction debug sur Uart ?
Je ne vois pas pourquoi tu essaies de stocker à la fois sur les 2 zones eeprom de 0x4000.
Le premier bloc fait 64k, c'est pas assez ?
EEPROM_ClearBank_0() efface toujours la zone réservée. Pourquoi tu ne mets pas la zone réservée en 0x8000 par exemple
Regarde ce que cela donne en inversant les defines :
Code : Tout sélectionner
#define SETPOINT_HEAT 0x3FFC
#define CURRENT_ADDR_MSB 0x3FFD
#define CURRENT_ADDR_LSB 0x3FFE
#define SETPOINT_BRIGHTNESS_SEGMENT 0x3FFFPourquoi tu ne veux pas faire la fonction debug sur Uart ?
EEPROM
J'écris sur les 2 banques pour usé le moins possible l'eeprom, chaque écriture use un peu plus la cellule de ce que j'ai lu, donc je profite d'un maximum de la plage des banques. J'ai quand même bridé jusque 0x3fff car c'est assez long la recherche sinon et j'ai pas envie d'attendre 30 secondes voir + pour qu'il aille me rechercher une valeur.
Je ne vois pas en quoi EEPROM_ClearBank_0() supprime tout, je fais : for (uint16_t addr = 0; addr < EEPROM_RESERVED_START; addr += PAGE_SIZE)
EEPROM_RESERVED_START vaut 0x3FFB et ma première valeur réservé est a 0x3FFC et je save ma valeur réservé dans une variable puis l'a réecrit dans l'eeprom après le clear bank
Je n'utilise pas l'UART car ça ne fonctionne tout simplement pas sur ma carte, j'ai préféré donc l'usage de mon LCD
J'ai inversé les adresses comme tu m'as demandé et le problème reste le même, SP Temp n'est pas save après coupure, il se reset a 138 (Correspond a l'ancienne valeur du SP Brighntess qui vaut 0x8A (valeur vient du Settings.C ligne 901))
Je ne vois pas en quoi EEPROM_ClearBank_0() supprime tout, je fais : for (uint16_t addr = 0; addr < EEPROM_RESERVED_START; addr += PAGE_SIZE)
EEPROM_RESERVED_START vaut 0x3FFB et ma première valeur réservé est a 0x3FFC et je save ma valeur réservé dans une variable puis l'a réecrit dans l'eeprom après le clear bank
Je n'utilise pas l'UART car ça ne fonctionne tout simplement pas sur ma carte, j'ai préféré donc l'usage de mon LCD
J'ai inversé les adresses comme tu m'as demandé et le problème reste le même, SP Temp n'est pas save après coupure, il se reset a 138 (Correspond a l'ancienne valeur du SP Brighntess qui vaut 0x8A (valeur vient du Settings.C ligne 901))
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 8 invités


