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 :

Fonction avec paramètre


Sujet :

Arduino

  1. #1
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut Fonction avec paramètre
    Bonjour à tous,

    Pourriez-vous svp me dire comment dois-je écrire correctement une fonction qui prend comme paramètre soit la variable temp ou airHumidity ?

    Dans mon exemple le composant SHT20 intègre une mesure de température et une autre d'humidité.

    Je souhaitais lors de l'appel de la fonction par exemple sht20Check() lui faire tenir compte de temp ou airHumidity : sht20Check(temp) et retourner la température le cas échéant.

    Mais visiblement je ne m'y prend pas correctement car la fonction n'affiche pas la valeur du capteur soi disant "sélectionné". Elle reste bloquée sur l'affichage de la température.
    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
     
    #include "uFire_SHT20.h"
    uFire_SHT20 sht20;
     
    char temp;
    char airHumidity;
     
     
    float sht20Check(char param ) {
        if(param == temp)  return sht20.temperature();              // Read Temperature
       else return sht20.humidity();                                // Read humidity
     
    }
     
    loop {
     
    Serial.println(sht20Check(airHumidity));
     
    }
    Merci pour l'aide

  2. #2
    Membre Expert
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 017
    Par défaut
    Bonjour legrandse

    Juste 2 petites choses à changer, donner une valeur à tes variables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //char temp;
    //char airHumidity;
    const int temp = 1;             // Attribuer une valeur aux types de mesures
    const int airHumidity = 2;      //          "             "             "
    et, de par là, changer ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //float sht20Check(char param ) {
    float sht20Check(int param ) {
    Cordialement
    jpbbricole

  3. #3
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut
    Arf sorry. 🙄

    Merci pour la correction 👍

  4. #4
    Membre Expert
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 017
    Par défaut
    Bonjour legrandse
    Citation Envoyé par legrandse Voir le message
    Arf sorry.
    C'est le métier qui rentre

    Bonne après-midi
    jpbbricole

  5. #5
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    Comme il n’y a que deux choix un char pourrait suffire (1 octet au lieu de 2 ou 4 suivant la plateforme). static n’est pas non plus vraiment nécessaire pour cette variable globale mais oui il faut les initialiser pour que le test de comparaison fonctionne. Et comme ce sont des constantes autant le dire au compilateur Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const char temp = ’t’;
    const char airHumidity=’h’;
    La méthode plus "propre" c’est de définir une énumération
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    enum {temp, airHumidity};
    ou mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    enum : byte {temp, airHumidity}; // 1 seul octet
    ça définit comme des mots clés temp et airHumidity qu’on peut ensuite utiliser sans avoir une variable.

    L’autre approche c’est de faire deux fonctions, une pour la température et une pour l’humidité

  6. #6
    Membre Expert
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 017
    Par défaut
    Bonjour Jay M
    Citation Envoyé par Jay M Voir le message
    static n’est pas non plus vraiment nécessaire
    Oupsss, j'ai mis static en pensant const

    Cordialement
    jpbbricole

  7. #7
    Membre éclairé Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 354
    Par défaut
    Merci à vous deux pour vos bons conseils

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

Discussions similaires

  1. [DOM] Appel fonction avec paramètre depuis document.write
    Par kev42100 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/05/2008, 14h12
  2. Fonction avec paramètre optionnel
    Par Damien2007 dans le forum ASP
    Réponses: 1
    Dernier message: 27/06/2007, 15h49
  3. Fonction avec paramètre illimité
    Par Kiboumz dans le forum Langage
    Réponses: 2
    Dernier message: 09/07/2006, 17h58
  4. [Function]Appel de fonction avec paramètre
    Par julienOriano dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/06/2006, 07h48
  5. Réponses: 4
    Dernier message: 11/09/2005, 01h21

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