Pages: [1]   Go Down
Author Topic: [Résolu][Code] erreur de compilation Débutant LED  (Read 495 times)
0 Members and 1 Guest are viewing this topic.
MARSEILLE
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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) smiley
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);
   }
  }
}

  

« Last Edit: March 02, 2013, 03:51:14 am by torquemada » Logged

MARSEILLE
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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);
Logged

France S-O
Offline Offline
Edison Member
*
Karma: 41
Posts: 2174
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

France / Bretagne / Rennes
Offline Offline
Newbie
*
Karma: 0
Posts: 37
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

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

Code:
void Loop(){

C'est loop et non Loop smiley-wink

Le code est sensible à la casse smiley-wink
Logged

MARSEILLE
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Pages: [1]   Go Up
Jump to: