Go Down

Topic: arduino segnala errori senza senso, forse (Read 1 time) previous topic - next topic

andre98

Code: [Select]

#define pulsante1 7;
#define pulsante2 6;
#define pulsante3 5;
#define LED 13;
int pausa = 1000;
int pausa2 = 3000;
int stato;

void setup()
{
  pinMode(pulsante1, INPUT);
  pinMode(pulsante2, INPUT);
  pinMode(pulsante3, INPUT);
  pinMode(LED, OUTPUT)
}

void loop()
{
  if(pulsante1 == HIGH)
  {
    stato = 1;
  }
  else
  {
    if(pulsante2 == HIGH)
    {
      stato = 2;
    }
    else
    {
      if(pulsante3 == HIGH)
      {
        stato = 3;
      }
      else
      {
        stato = 0;
      }
    }
  }
 
  switch (stato)
  {
    case 1:
      digitalWrite(LED, HIGH);
      delay(pausa);
      digitalWrite(LED, LOW);
      delay(pausa2);
      break;
     
    case 2:
      digitalWrite(LED, HIGH);
      delay(pausa);
      digitalWrite(LED, LOW);
      delay(pausa);
      digitalWrite(LED, HIGH);
      delay(pausa);
      digitalWrite(LED, LOW);
      delay(pausa2);
      break;
     
    case 3;
      digitalWrite(LED, HIGH);
      delay(pausa);
      digitalWrite(LED, LOW);
      delay(pausa);
      digitalWrite(LED, HIGH);
      delay(pausa);
      digitalWrite(LED, LOW);
      delay(pausa);
      digitalWrite(LED, HIGH);
      delay(pausa);
      digitalWrite(LED, LOW);
      delay(pausa2);
      break;
     
    case 0:
      digitalWrite(LED, LOW);
      break;
  }
}


Gli errori:
Code: [Select]

Buzzer_2:10: error: expected `)' before ';' token
Buzzer_2:10: error: expected primary-expression before ',' token
Buzzer_2:10: error: expected `;' before ')' token
Buzzer_2:11: error: expected `)' before ';' token
Buzzer_2:11: error: expected primary-expression before ',' token
Buzzer_2:11: error: expected `;' before ')' token
Buzzer_2:12: error: expected `)' before ';' token
Buzzer_2:12: error: expected primary-expression before ',' token
Buzzer_2:12: error: expected `;' before ')' token
Buzzer_2:13: error: expected `)' before ';' token
Buzzer_2:13: error: expected primary-expression before ',' token
Buzzer_2:13: error: expected `;' before ')' token
Buzzer_2.cpp: In function 'void loop()':
Buzzer_2:18: error: expected `)' before ';' token
Buzzer_2:18: error: expected primary-expression before '==' token
Buzzer_2:18: error: expected `;' before ')' token
Buzzer_2:22: error: 'else' without a previous 'if'
Buzzer_2:24: error: expected `)' before ';' token
Buzzer_2:24: error: expected primary-expression before '==' token
Buzzer_2:24: error: expected `;' before ')' token
Buzzer_2:28: error: 'else' without a previous 'if'
Buzzer_2:30: error: expected `)' before ';' token
Buzzer_2:30: error: expected primary-expression before '==' token
Buzzer_2:30: error: expected `;' before ')' token
Buzzer_2:34: error: 'else' without a previous 'if'
Buzzer_2:44: error: expected `)' before ';' token
Buzzer_2:44: error: expected primary-expression before ',' token
Buzzer_2:44: error: expected `;' before ')' token
Buzzer_2:46: error: expected `)' before ';' token
Buzzer_2:46: error: expected primary-expression before ',' token
Buzzer_2:46: error: expected `;' before ')' token
Buzzer_2:51: error: expected `)' before ';' token
Buzzer_2:51: error: expected primary-expression before ',' token
Buzzer_2:51: error: expected `;' before ')' token
Buzzer_2:53: error: expected `)' before ';' token
Buzzer_2:53: error: expected primary-expression before ',' token
Buzzer_2:53: error: expected `;' before ')' token
Buzzer_2:55: error: expected `)' before ';' token
Buzzer_2:55: error: expected primary-expression before ',' token
Buzzer_2:55: error: expected `;' before ')' token
Buzzer_2:57: error: expected `)' before ';' token
Buzzer_2:57: error: expected primary-expression before ',' token
Buzzer_2:57: error: expected `;' before ')' token
Buzzer_2:61: error: expected `:' before ';' token
Buzzer_2:62: error: expected `)' before ';' token
Buzzer_2:62: error: expected primary-expression before ',' token
Buzzer_2:62: error: expected `;' before ')' token
Buzzer_2:64: error: expected `)' before ';' token
Buzzer_2:64: error: expected primary-expression before ',' token
Buzzer_2:64: error: expected `;' before ')' token
Buzzer_2:66: error: expected `)' before ';' token
Buzzer_2:66: error: expected primary-expression before ',' token
Buzzer_2:66: error: expected `;' before ')' token
Buzzer_2:68: error: expected `)' before ';' token
Buzzer_2:68: error: expected primary-expression before ',' token
Buzzer_2:68: error: expected `;' before ')' token
Buzzer_2:70: error: expected `)' before ';' token
Buzzer_2:70: error: expected primary-expression before ',' token
Buzzer_2:70: error: expected `;' before ')' token
Buzzer_2:72: error: expected `)' before ';' token
Buzzer_2:72: error: expected primary-expression before ',' token
Buzzer_2:72: error: expected `;' before ')' token
Buzzer_2:77: error: expected `)' before ';' token
Buzzer_2:77: error: expected primary-expression before ',' token
Buzzer_2:77: error: expected `;' before ')' token


tutto quello che lui aspetta c'è
boh

astrobeed

Manca il punto e virgola qui: "  pinMode(LED, OUTPUT) ", da quel momento in poi tutte le righe sono errori.


andre98


astrobeed

#3
Oct 15, 2012, 03:32 pm Last Edit: Oct 15, 2012, 03:35 pm by astrobeed Reason: 1

a me il programma sembra perfetto


Ti può sembrare perfetto quanto ti pare, però se ti dico che manca un punto e virgola stai pur certo che è così.
Prima di mettere in dubbio i consigli che ti danno prova a chiederti se non sei tu ad essere in errore.

andre98

intendevo dopo aver messo il punto e virgola, per esempio dice che manca una parentesi tonda prima del punto e virgola, quando in realtà c'è


andre98

grazie, ma nessuno mi sa spiegare la ragione di quelli errori che non dovrebbero esistere.
forse perchè esistono più tipi di parentesi tonde (ho un mac)

astrobeed


nel "case 3" c'è un ; al posto di :


Giusto, mi ero fermato al primo ";" mancante, però c'è pure questo di errore.

astrobeed


grazie, ma nessuno mi sa spiegare la ragione di quelli errori che non dovrebbero esistere.


Quegli errori sono causati dal fatto che il parser del compilatore non capisce le righe di codice per via del ";" mancante, da quel momento in poi per lui sono tutte sbagliate perché non correttamente terminate.
Gli errori di questo tipo " error: expected `)' before ';' token" sono sempre causati da errori di punteggiatura e/o omissioni di parentesi.

andre98

#9
Oct 15, 2012, 03:42 pm Last Edit: Oct 15, 2012, 03:43 pm by andre98 Reason: 1
ma sei sicuro che manchino parentesi, in un altro programma simile non succedeva
e ho scoperto che se al posto di inserire il nome della variabile inserisco il numero del pin, non mi da errore

Madwriter

#10
Oct 15, 2012, 03:42 pm Last Edit: Oct 15, 2012, 03:46 pm by Madwriter Reason: 1
Code: [Select]
#define pulsante1 7
#define pulsante2 6
#define pulsante3 5
#define LED 13
int pausa = 1000;
int pausa2 = 3000;
int stato;

void setup()
{
 pinMode(pulsante1, INPUT);
 pinMode(pulsante2, INPUT);
 pinMode(pulsante3, INPUT);
 pinMode(LED, OUTPUT);
}

void loop()
{
 if(pulsante1 == HIGH)
 {
   stato = 1;
 }
 else
 {
   if(pulsante2 == HIGH)
   {
     stato = 2;
   }
   else
   {
     if(pulsante3 == HIGH)
     {
       stato = 3;
     }
     else
     {
       stato = 0;
     }
   }
 }
 
 switch (stato)
 {
   case 1:
     digitalWrite(LED, HIGH);
     delay(pausa);
     digitalWrite(LED, LOW);
     delay(pausa2);
     break;
     
   case 2:
     digitalWrite(LED, HIGH);
     delay(pausa);
     digitalWrite(LED, LOW);
     delay(pausa);
     digitalWrite(LED, HIGH);
     delay(pausa);
     digitalWrite(LED, LOW);
     delay(pausa2);
     break;
     
   case 3:
     digitalWrite(LED, HIGH);
     delay(pausa);
     digitalWrite(LED, LOW);
     delay(pausa);
     digitalWrite(LED, HIGH);
     delay(pausa);
     digitalWrite(LED, LOW);
     delay(pausa);
     digitalWrite(LED, HIGH);
     delay(pausa);
     digitalWrite(LED, LOW);
     delay(pausa2);
     break;
     
   case 0:
     digitalWrite(LED, LOW);
     break;
 }
}

in realtà ha dimenticato un ;
Code: [Select]
pinMode(LED, OUTPUT)
ha messo un ; al posto di un : nel case
Code: [Select]
case 3;
e ha messo i ; dopo i define
Code: [Select]
]#define pulsante1 7;
#define pulsante2 6;
#define pulsante3 5;
#define LED 13;

erano orrori non errori  :smiley-mr-green:
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

andre98

risolto

ps: i ; dopo i define erano messi per il semplice motivo che dava errore se non li mettevo
e comunque non tirartela se sai programmare (cosa che è ancora da vedere)

astrobeed


e comunque non tirartela se sai programmare (cosa che è ancora da vedere)


Complimenti per il comportamento, sei appena entrato nella mia blacklist di quelli da non aiutare mai.



andre98



e comunque non tirartela se sai programmare (cosa che è ancora da vedere)


Complimenti per il comportamento, sei appena entrato nella mia blacklist di quelli da non aiutare mai.





non era rivolto a te, mi sono dimenticato di quotare
comunque scusa se ti sei offeso

niki77



Complimenti per il comportamento, sei appena entrato nella mia blacklist di quelli da non aiutare mai.



Spero che dopo quel paio di scaramucce iniziali almeno a me abbia rimosso  =(

Se non sbaglio nemmeno a fine riga dei define va messo ';'

E' corretto ?
Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Go Up