Partage
  • Partager sur Facebook
  • Partager sur Twitter

Appel d'une variable mesurée dans une autre fonct

    15 juillet 2019 à 11:55:25

    Bonjour à tous, 

    j'ai une variable que j'ai mesuré avec un dht22 dont je souhaite l'utiliser dans une autre fonction avant de mettre le tout sur la fonction loop.

    voici mon code histoire d'eclaircir un peu :

     float  MesTempHum(int* floor_number, float* point_Pmes ){    
    
              float hum , temper;
    
                       if(floor_number == 1) {
    
                                hum = Hum1;
    
                                temper = Temp1;
    
                                Temp1 = dht1.readTemperature();
    
                                Hum1 = dht1.readHumidity();
    
                                Serial.print("Humidite 1: ");
    
                                Serial.print(Hum1);  
    
                                Serial.print("\t");
    
                                Serial.print("Temperature  1: ");
    
                                Serial.print(Temp1);
    
                                Serial.print(" *C ");
    
                                Serial.print("\t");
    
                                Serial.print("param mes etage  1: ");
    
                                 float culture_params_mes[2] = {hum,temper};
    
                                Serial.print(params_mes[2]);
    
                                return  params_mes[2];
    
                              }
    
    ...
    
    }
    
    //------------------------------------ 
    
    bool ActivVentil(int floor_number, float params_global[4]  , float *params_mes[2] ) {
    
                  MesTempHum(&floor_number , &point_Pmes);
    
                  float params_compar[4] = {0};
    
                  float params_mes[2] = &point_Pmes;
    
                  bool etat_ventil;
    
                      if (floor_number == 1) {
    
                        params_mes[1] = params_compar[1];
    
                        params_mes[0] = params_compar[0]; 
    
                        params_global[3] = 0;
    
                        params_global[2] = 0;
    
    ...
    
    }



    j'ai essayé d'appliqué le cours du c et utiliser l'arduino mais je crois que j'ai pas bien compris si vous avez quelque explication svp.

    je profite du post pour savoir si il etait possible d'utiliser le atmega de l'arduino pour le programmer en pure C embarquée car l'arduino commence a me gaver un peu surtout que mon code commence un peu a se compliqué mdr , si oui comment je peux le faire ? 

    Merci d'avance et n'hesitez pas me poser des questions si vous avez pas compris mon probleme :D !

    -
    Edité par Amine480 15 juillet 2019 à 11:56:06

    • Partager sur Facebook
    • Partager sur Twitter
      16 juillet 2019 à 15:17:53

      Serial.print(params_mes[2]);

      params_mes[2] n'existe pas puisque la taille de tableau est égale à 2.

      De plus, tu as l'air de vouloir retourner un tableau de float alors que la fonction est du type float. Çà ne correspond donc pas.

      Si tu veux retourner 2 valeurs, mets-les plutôt dans une structure.

      • Partager sur Facebook
      • Partager sur Twitter

      Appel d'une variable mesurée dans une autre fonct

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown