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 :

Problème de compilation arduino mega 2560


Sujet :

Arduino

  1. #1
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Par défaut Problème de compilation arduino mega 2560
    Bonjour,
    Tout d'abord je précise que je n'y connais rien, j'essaie d'apprendre.
    J'ai téléchargé le programme Sebduino (gestion d'aquarium) et lorsque j'essaye de le compiler j'ai cette erreur : exit status 1
    too many arguments to function 'void setLed()'

    Voici le bout de programme :
    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
    void light(){
     
                if (Light1Status<2){ // Calcul durée total et zenith
                                    if (debut1<fin1){dureetotale=fin1-debut1;
                                                     zenith=debut1+dureetotale/2;
                                                     }
     
                                    if (debut1>fin1){dureetotale=(1440-debut1)+fin1;
                                                     if (timer<fin1){zenith=fin1-(dureetotale/2);}                     
                                                     if (timer>debut1){zenith=debut1+(dureetotale/2);}
                                                     }
     
                                     // Calcul puissance LED
                                    Light1PWM=setLed(timer,Light1TimePWM,dureetotale,Light1Max,zenith);
     
     
                                    if (debut1<fin1){if (timer>=debut1 && timer<fin1){Light1Status=1;} else {Light1Status=0;Light1PWM=0;}}
     
                                    if (debut1>fin1){if (timer<debut1 && timer>=fin1){Light1Status=0;Light1PWM=0;} else {Light1Status=1;}}
     
                                             }
    voici le lien pour télécharger le programme si besoin de l'avoir en entier : https://onedrive.live.com/?authkey=%...05EE5FC0A629A6 il s'agit de la version Sebduino 9-11-13

    Quelqu'un pourrait il me venir en aide car je ne trouve pas la solution.

    Merci d'avance

  2. #2
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 75
    Par défaut
    Bonjour,

    A première vue il me semble repérer deux problèmes :

    1. Le message d'erreur laisse penser que trop d'arguments ont été transmis à setLed()
    2. setLed() est de type void, donc théoriquement elle ne renvoie rien. Or ici, à la ligne 14, il semble que l'on attend un résultat de setLed().


    Le mieux à mon avis serait de regarder la définition de setLed() pour avoir connaissance précisément de ses entrées et de sa fonction dans le programme.


    J'espère avoir aidé à faire avancer la situation,

    Bon courage pour la suite.

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 019
    Par défaut
    Bonjour,
    Comme te l'a fait remarquer CosinusX le message d'erreur est incohérent avec la fonction setled qui renvoie un float
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    / Calcul de la valeur PWM
    float setLed(          
                 float minuteActuelle, // Minutes actuelles depuis minuit
                 float dureerampe, // Duree gradation
                 float dureetotal, // Duree total eclairage
                 float valeurMax,      // Valeur max
                 float zenithEcl)         // Temps en minutes pour le zenith
    A tout hasard passe en revue tous les appels à setLed et compte le nombre de paramètres qui doit être 5 (s'il y en a d'autres que celui dans le forum).

    Mais il y a peut-être quelque chose de cassé, je suppose que tu développes avec Arduino. J'ai assez souvent constaté des bugs du compilateur, des que les programmes sont volumineux .... ce qui semble être le cas et il n'y a rien a faire car des fichiers sont abimés et on ne voit rien à l'écran.
    Doc dans ce cas, crée un nouveau répertoire, retélécharge et recrée ton programme.

    Complément : quelquefois aussi l'erreur signalée dans le programme n'est pas la bonne : il y en a bien une mais elle est quelques lignes avant.
    Dans ce cas je recompilai le programme avec Visual studio community (gratuit) + le plugin visual micro (gratuit pour la vision sans debug) : Visual studio est beaucoup plus robuste et ne se trompe pas comme Arduino. Le problème c'est que Visual studio c'est gros et très long a télécharger si tu n'as pas une liaison rapide (c'est mon cas).
    Bon courage.

Discussions similaires

  1. Erreur arduino mega 2560
    Par arielus3 dans le forum Arduino
    Réponses: 23
    Dernier message: 12/04/2017, 10h22
  2. Problème avec ARDUINO MEGA
    Par cip.maldonado dans le forum Arduino
    Réponses: 3
    Dernier message: 26/04/2016, 08h55
  3. Question carte Arduino Mega 2560
    Par Invité dans le forum Arduino
    Réponses: 5
    Dernier message: 17/03/2016, 01h32
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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