Go Down

Topic: errore switch case che non dovrebbe esistere [CHIUSO] (Read 539 times) previous topic - next topic

andre98

Oct 12, 2012, 07:46 pm Last Edit: Oct 12, 2012, 07:54 pm by andre98 Reason: 1
Code: [Select]
int pulsante1;
int pulsante2;
int pulsante3;
int pulsante4;
int LED1;
int LED2;
int LED3;
int LED4;
int pausa = 100;
int pausa2 = 3000;
int pausa3 = 10000;
int stato;

void setup()
{
 pinMode(pulsante1, OUTPUT);
 pinMode(pulsante2, OUTPUT);
 pinMode(pulsante3, OUTPUT);
 pinMode(pulsante4, OUTPUT);
 pinMode(LED1, OUTPUT);
 pinMode(LED2, OUTPUT);
 pinMode(LED3, OUTPUT);
 pinMode(LED4, OUTPUT);
}

void loop()
{
 if(pulsante1 == HIGH)
 {
   stato = 1;
 }
 else
 {
   if(pulsante2 == HIGH)
   {
     stato = 2;
   }
   else
   {
     if(pulsante3 == HIGH)
     {
       stato = 3;
     }
     else
     {
       if(pulsante4 == HIGH)
       {
       stato = 4;
       }
       else
       {
       stato = 0;
       }
     }
   }
 }
}
   
switch (stato)
{
 case 1:
   digitalWrite(LED1, HIGH);
   delay(pausa);
   digitalWrite(LED1, LOW);
   delay(pausa);
   digitalWrite(LED2, HIGH);
   delay(pausa);
   digitalWrite(LED2, LOW);
   delay(pausa);
   digitalWrite(LED3, HIGH);
   delay(pausa);
   digitalWrite(LED3, LOW);
   delay(pausa);
   digitalWrite(LED4, HIGH);
   delay(pausa*3);
   digitalWrite(LED4, LOW);
   delay(pausa);
   digitalWrite(LED3, HIGH);
   delay(pausa);
   digitalWrite(LED3, LOW);
   delay(pausa);
   digitalWrite(LED2, HIGH);
   delay(pausa);
   digitalWrite(LED2, LOW);
   delay(pausa);
   digitalWrite(LED1, HIGH);
   delay(pausa);
   digitalWrite(LED1, LOW);
   delay(pausa2);
   digitalWrite(LED1, HIGH);
   delay(pausa3);
   digitalWrite(LED1, LOW);
   break;
     
 case 2:
   digitalWrite(LED1, HIGH);
   delay(pausa);
   digitalWrite(LED1, LOW);
   delay(pausa);
   digitalWrite(LED2, HIGH);
   delay(pausa);
   digitalWrite(LED2, LOW);
   delay(pausa);
   digitalWrite(LED3, HIGH);
   delay(pausa);
   digitalWrite(LED3, LOW);
   delay(pausa);
   digitalWrite(LED4, HIGH);
   delay(pausa*3);
   digitalWrite(LED4, LOW);
   delay(pausa);
   digitalWrite(LED3, HIGH);
   delay(pausa);
   digitalWrite(LED3, LOW);
   delay(pausa);
   digitalWrite(LED2, HIGH);
   delay(pausa);
   digitalWrite(LED2, LOW);
   delay(pausa);
   digitalWrite(LED1, HIGH);
   delay(pausa);
   digitalWrite(LED1, LOW);
   delay(pausa2);
   digitalWrite(LED2, HIGH);
   delay(pausa3);
   digitalWrite(LED2, LOW);
   break;
     
 case 3:
   digitalWrite(LED1, HIGH);
   delay(pausa);
   digitalWrite(LED1, LOW);
   delay(pausa);
   digitalWrite(LED2, HIGH);
   delay(pausa);
   digitalWrite(LED2, LOW);
   delay(pausa);
   digitalWrite(LED3, HIGH);
   delay(pausa);
   digitalWrite(LED3, LOW);
   delay(pausa);
   digitalWrite(LED4, HIGH);
   delay(pausa*3);
   digitalWrite(LED4, LOW);
   delay(pausa);
   digitalWrite(LED3, HIGH);
   delay(pausa);
   digitalWrite(LED3, LOW);
   delay(pausa);
   digitalWrite(LED2, HIGH);
   delay(pausa);
   digitalWrite(LED2, LOW);
   delay(pausa);
   digitalWrite(LED1, HIGH);
   delay(pausa);
   digitalWrite(LED1, LOW);
   delay(pausa2);
   digitalWrite(LED3, HIGH);
   delay(pausa3);
   digitalWrite(LED3, LOW);
   break;
     
 case 4:
   digitalWrite(LED1, HIGH);
   delay(pausa);
   digitalWrite(LED1, LOW);
   delay(pausa);
   digitalWrite(LED2, HIGH);
   delay(pausa);
   digitalWrite(LED2, LOW);
   delay(pausa);
   digitalWrite(LED3, HIGH);
   delay(pausa);
   digitalWrite(LED3, LOW);
   delay(pausa);
   digitalWrite(LED4, HIGH);
   delay(pausa*3);
   digitalWrite(LED4, LOW);
   delay(pausa);
   digitalWrite(LED3, HIGH);
   delay(pausa);
   digitalWrite(LED3, LOW);
   delay(pausa);
   digitalWrite(LED2, HIGH);
   delay(pausa);
   digitalWrite(LED2, LOW);
   delay(pausa);
   digitalWrite(LED1, HIGH);
   delay(pausa);
   digitalWrite(LED1, LOW);
   delay(pausa2);
   digitalWrite(LED4, HIGH);
   delay(pausa3);
   digitalWrite(LED4, LOW);
   break;
     
 case 0:
   digitalWrite(LED1, LOW);
   digitalWrite(LED2, LOW);
   digitalWrite(LED3, LOW);
   digitalWrite(LED4, LOW);
   break;  
  }
}


compilando mi dice:
sketch_oct12a:58: error: expected unqualified-id before 'switch'
sketch_oct12a:203: error: expected declaration before '}' token

ma non capisco cosa non vada

astrobeed

Ad occhio, adesso non posso provare lo sketch, direi che hai messo la switch fuori dalla loop e c'è una graffa chiusa di troppo alla fine.

andre98


andre98


uwefed

Se nel IDE segni una parentesi la corrispondente viene segnata con un bordo blu. cosí ti rendi conto dove si apre e si chiude una parentesi.

Senó posso consigliarti l' editore gratuito Notepad++
Quello Ti segna sulla sinistra le parentesi e puoi anche nascondere il testo tra 2 parentesi.

Ciao Uwe

Go Up