Soucis de lecture EEPROM entre simulation et réel

Patrice68

New Member
Bonjour à tous

Je suis confronté à un comportement curieux : j'ai un chiffre en mémoire. Je souhaite simplement le lire et ... le résultat est différent suivant que je suis en mode simulation avec PE ou en réel avec le code installé dans le PICAXE

Voici le code :
Code:
#PICAXE 28x2
#NO_DATA	; 
#NO_TABLE	; 
#TERMINAL 4800 ;
SETFREQ m4	; 

EEPROM  0, (3)    ; chiffre 3 dans l'Eeprom

Init:
	PAUSE 1000 		; Délais pour le Terminal

Main: 
	Read 0,b28
	SERTXD("Nb ",#b28,13)
1°) en simulation j'ai le résultat suivant dans le terminal (résultat correct) :
Terminal simulation.JPG

2° en mode réel j'ai ce résultat (il ne trouve pas la valeur) :
Terminal exe picaxe.JPG

Avez vous une idée de ce qui cloche ?
Le 28X2 demanderait-il autre chose ??? (Je dois rester dans la série X2 pour mon projet)

Merci de votre aide et bon we
 

Patrice68

New Member
Ok
J'ai enlevé la directive #NO DATA et laissé #NO TABLE ... ça change rien (j'ai cru comprendre que cette directive c'était pour empêcher de réécrire par dessus les données en EEPROM)
J'ai enlevé la directive #NO TABLE et laissé #NO DATA ... ça change rien
J'ai enlevé les 2 directives #NO TABLE et #NO DATA et là le résultat est correct! (et j'ai mis à 3000 ma pause de départ parce que j'avais un résultat tronqué (il manquait les premiers caractères de ma sortie ...)

Question : pourquoi ? ces 2 directives ne sont elle pas là uniquement pour protéger une écriture accidentelle de nouvelles data ?
 

PieM

Senior Member
Ok
J'ai enlevé la directive #NO DATA et laissé #NO TABLE ... ça change rien (j'ai cru comprendre que cette directive c'était pour empêcher de réécrire par dessus les données en EEPROM)
J'ai enlevé la directive #NO TABLE et laissé #NO DATA ... ça change rien
J'ai enlevé les 2 directives #NO TABLE et #NO DATA et là le résultat est correct! (et j'ai mis à 3000 ma pause de départ parce que j'avais un résultat tronqué (il manquait les premiers caractères de ma sortie ...)

Question : pourquoi ? ces 2 directives ne sont elle pas là uniquement pour protéger une écriture accidentelle de nouvelles data ?
With the #no_data directive included the EEPROM will not be pre-loaded and the debug will show the values within EEPROM before the download

Après en cours de programme, il faut utiliser read et write

#NO_TABLE
Do not download table or EEPROM data (X1 and X2 parts only). This automatically also enables #no_data



 

Patrice68

New Member
Ok, compris (enfin non du coup je ne comprends pas à quoi sert la directive ...) bon pas grave
Oui, j'avais vu (après) que #NO_TABLE activait #NO_DATA
Parfait, merci beaucoup à vous 2
 

PieM

Senior Member
Ok, compris (enfin non du coup je ne comprends pas à quoi sert la directive ...) bon pas grave
La directive sert à ne pas écraser des données inscrites en Eeprom, lors d'un chargement de programme.
elle est utilisée par le préprocesseur, mais pas lors de la simulation, d'où la différence de résultats.
 
Top