​ ​ ​ ​ Soucis de lecture EEPROM entre simulation et réel
Results 1 to 7 of 7

Thread: Soucis de lecture EEPROM entre simulation et réel

  1. #1
    New Member
    Join Date
    Nov 2015
    Location
    ALSACE
    Posts
    23

    Default Soucis de lecture EEPROM entre simulation et réel

    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

  2. #2
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,380

    Default

    Bonjour,

    Essaie un write, pour voir

    MM

  3. #3
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,778

    Default

    C'est un peu normal avec la directive #NO DATA ...
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  4. #4
    New Member
    Join Date
    Nov 2015
    Location
    ALSACE
    Posts
    23

    Default

    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 ?

  5. #5
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,778

    Default

    Quote Originally Posted by Patrice68 View Post
    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



    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  6. #6
    New Member
    Join Date
    Nov 2015
    Location
    ALSACE
    Posts
    23

    Default

    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

  7. #7
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,778

    Default

    Quote Originally Posted by Patrice68 View Post
    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.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •