Auteur Sujet: Problème lecture varriable  (Lu 15267 fois)

JBG

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Problème lecture varriable
« le: novembre 11, 2018, 05:59:37 pm »
Bonjour,

J'ai un nouveau problème et je ne comprends pas la raison. Pouvez vous me donner un coup de main?

> Partie du programme utilisé, voir ci-joint mon programme.
   Loop
   {
    ...
    ReadingDoorSwState() ;
    Serial.println("fonction loop") ;
    Serial.println(*pCurrDoorSw1State) ;
   }

   void ReadingDoorSwState()
   {
    int CurrDoorSw1State ;
    int CurrDoorSw2State ;
   
    DoorSw1State.update() ;                   
    DoorSw2State.update() ;
    CurrDoorSw1State = DoorSw1State.read() ;   
    CurrDoorSw2State = DoorSw2State.read() ;   
    pCurrDoorSw1State = &CurrDoorSw1State ;     
    pCurrDoorSw2State = &CurrDoorSw2State ;     

    Serial.println("fonction ReadingDoorSwState") ;
    Serial.println(*pCurrDoorSw1State) ;
   }

> Résultat
   Quand je test mon programme avec la configuration ci-dessus, je visualise bien l'état du bouton poussoir qui est fonction de l
   l'action fait sur ce dernier.
   
   Affichage sur le moniteur série
   17:48:20.640 -> fonction ReadingDoorSwState
   17:48:20.673 -> 1
   17:48:20.673 -> fonction loop
   17:48:20.709 -> 1
   17:48:20.709 -> fonction ReadingDoorSwState
   17:48:20.742 -> 0
   17:48:20.742 -> fonction loop
   17:48:20.742 -> 0
   17:48:20.742 -> fonction ReadingDoorSwState


Par contre, dans la configuration ci-dessous, je ne visualise pas correctement l'état du bouton poussoir.
> Partie du programme utilisé
   Loop
   {
    ...
    ReadingDoorSwState() ;
    Serial.println("fonction loop") ;
    Serial.println(*pCurrDoorSw1State) ;
   }

   void ReadingDoorSwState()
   {
    int CurrDoorSw1State ;
    int CurrDoorSw2State ;
   
    DoorSw1State.update() ;                   
    DoorSw2State.update() ;
    CurrDoorSw1State = DoorSw1State.read() ;   
    CurrDoorSw2State = DoorSw2State.read() ;   
    pCurrDoorSw1State = &CurrDoorSw1State ;     
    pCurrDoorSw2State = &CurrDoorSw2State ;     
   }

> Résultat
   Affichage sur le moniteur série
   17:53:13.860 -> fonction loop
   17:53:13.894 -> 14134
   Quelque soit mon action sur le bouton poussoir cela n'a pas d'effet sur la valeur de ma variable lue.
   De plus, la variable que je lis n'est pas 1 ou 0 mais un entier?

Pouvez vous m'expliquer mon erreur?

Merci,
Jérôme




Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1714
    • Voir le profil
Re : Problème lecture varriable
« Réponse #1 le: novembre 11, 2018, 07:27:56 pm »
Bonsoir,

Vous faites pointer deux pointeurs sur deux variable locales qui n’existent plus lorsque vous de référencez  les pointeurs.
« Modifié: novembre 11, 2018, 11:19:09 pm par Jean-Luc »
Cordialement

JBG

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Problème lecture varriable
« Réponse #2 le: novembre 11, 2018, 10:23:58 pm »
Correction apportée.

Merci Jean-Luc