IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Action effectuée quand même dans un if n'ayant pas ses conditions vraies


Sujet :

Arduino

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Concepteur de machine spéciale
    Inscrit en
    Décembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Concepteur de machine spéciale
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 4
    Par défaut Action effectuée quand même dans un if n'ayant pas ses conditions vraies
    Bonjour à tous,

    Je suis nouveau sur le forum et j'apprécie déjà beaucoup cet endroit^^

    Je travaille en ingé méca et je viens de me lancer dans le C++ depuis peu pour bricoler le weekend. Je ne connaissais jusqu'à maintenant que les langages d'automatisme indus.
    Je suis en train de remplacer l'électronique de mon sèche linge afin d'avoir un afficheur LCD des capteurs d'humidité, horloge, consommation ect

    J’espère que quelqu'un pourra m'apprendre ce qui cloche dans l'extrait de mon code ci dessous (j'ai enlever tout le reste pour que mon problème soit plus lisible):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    void setup() {
      Serial.begin(9600); 
     
    }
     
    void loop() {
     
    bool Sel;
    unsigned char Nav;
    bool Disptime;
     
      Serial.print ("avant le if :");Serial.print (Sel);Serial.print (Nav);Serial.println (Disptime);
    //le resultat print est=> 000
    if (Sel == true && Nav==5){
      Disptime = true;
        }
    //le résultat print est=> 001 
    //Pourquoi l'état change alors que les conditions du if ne sont pas atteintes???????!!!
      Serial.print ("après le if :");Serial.print (Sel);Serial.print (Nav);Serial.println (Disptime);
    Serial.println();
      delay(2000);
    }
    //le "bug" est contourner si je déplace "bool Disptime;" en variable globale..
    //mais Pourquoi??? je peut aussi init la variable en false à chaque scrutations mais 
    //je ne veut pas faire ça.
    J'arrive facilement à contourner le problème en créant une variable globale mais j'aimerais vraiment comprendre pourquoi Disptime change d'état alors que les conditions du if ne sont pas atteintes.. Si je supprime la ligne dans le if, la variable ne change pas.

    Merci d'avance pour votre aider
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 19/11/2008, 09h06
  2. Réponses: 9
    Dernier message: 23/06/2008, 15h54
  3. Réponses: 7
    Dernier message: 05/09/2007, 10h39
  4. [Dates] Action à effectuer quand date1 est > a Date2
    Par bilou95 dans le forum Langage
    Réponses: 2
    Dernier message: 14/12/2006, 09h31
  5. boucle simple dans une dataGrid avec quand même une erreur !
    Par fkr dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/11/2005, 15h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo