Go Down

Topic: [Résolu][Code] erreur de compilation Débutant LED (Read 623 times) previous topic - next topic

Mar 01, 2013, 01:40 pm Last Edit: Mar 02, 2013, 09:51 am by torquemada Reason: 1
Bonjour à tous,
Voici un code en principe assez simple(qui allume des LED), modifié d'un excellent tutoriel, et qui ne compile pas avec un message sybillin.
message d'erreur:
core.a (main.cpp.o);In function 'main';
c:\users\unknown\documents\Arduino\Logiciel\arduino-1.0.3\hardware\arduino
\cores\arduino/main.cpp:14: undefined reference to 'loop'

J'ai pensé à une mauvaise installation du logiciel arduino mais il compile bien les autres sketches.
Si c'est une erreur de syntaxe je ne l'ai pas trouvé (celà promet pour l'avenir) :)
Merci de m'avoir consacré de votre temps




Quote

const int LED[3]={2,3,4};
int vitesse=20;


void setup(){
for(int i=0;i<4;i++){
 pinMode(LED,OUTPUT);
}
}
void Loop(){
 for (int numLED=0;numLED<4;numLED++) {
   allumeLED(numLED);
   delay (vitesse);
 }
 for (int numLED=0;numLED<4;numLED++){
   allumeLED(4-numLED);
   delay(vitesse);
 }
}
 //fonction allumeLED*
 void allumeLED(int numLEDIn){
 for (int i=0;i<4;i++){
   if(i==numLEDIn){
     digitalWrite(LED,HIGH);
     
   }
 else {
   digitalWrite(LED,LOW);
  }
 }
}

 


Désolé il ya des indices qui ne semblent pas passer en copier coller.

il faut lire
ligne 5           pinMode(LED,OUTPUT);
et à la fin
digitalWrite(LED,HIGH);
digitalWrite(LED,LOW);

68tjs

Les fonctions setup() et loop() sont intégrées dans un fichier main.cpp. Tu ne le vois pas parce que l'IDE le fait pour toi.
Voila l'explication de la reférence à main.cpp.

Ensuite je sais pas si c'est la seule raison mais il y a  au moins un problème ici :
const int LED[3]={2,3,4};
LED[3] défini un tableau de 4 valeurs : en programmation on commence à 0, la  4ème valeur n'est pas définie.

Et cette 4 éme valeur tu cherche à l'appeler ici :
for (int i=0 ; i<4 ; i++) {
  pinMode(LED,OUTPUT);
}

Je vois déjà 2 erreurs (mais il peut y en avoir d'autres)
1) Comme tu n'a que 3 valeurs de définies il faut i<3 et non pas i<4 -> le "0" doit être pris en compte.
2) LED est un tableau de constante, on appelle une valeur du tableau en spécifiant son rang  -> LED[0] ou LED[3] et dans une boucle on écrit LED[ i ].
Corrige déjà ces petites erreurs cela devrait aller mieux.

Hello,

Vu l'erreur et ton code tu as un soucis à cette ligne :

Code: [Select]
void Loop(){

C'est loop et non Loop ;)

Le code est sensible à la casse ;)

c'est la bonne réponse loop à la place de Loop
Merci à tous

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy