Ir ao conteúdo
  • Cadastre-se

C erro no switch e nao consigo visualizar.


Posts recomendados

NÃO CONSIGO ENCONTRAR O ERRO DO SWITCH: 

 

int BB= 7; // PINO DE LIGA A BOMBA
int V2= 10; // PINO VALVULA 2 
void setup() {
 // CAIXA A (RESERVATORIO INFERIOR)
  Serial.begin(9600);
  pinMode(9, INPUT); // Sensor A1
  pinMode(8, INPUT); // Sensor A0
 
  // CAIXA B (RESERVATORIO SUPERIOR)
  Serial.begin(9600);
  pinMode(4, INPUT); // Sensor B1
  pinMode(3, INPUT); // Sensor B2
  pinMode(2, INPUT); // Sensor B0
// BOMBA E VALVULA
  pinMode (7,OUTPUT); // BOMBA
  pinMode (10, OUTPUT); // VALVULA 2
}

void loop()
{
  int B1 = digitalRead(4);
  int B2 = digitalRead(3);
  int B0 = digitalRead(2);
  int A1 = digitalRead(9);
  int A0 = digitalRead(8);
  //estados da bomba
    int estadoB= (BB,HIGH);
    Serial.print("Estado da bomba : ");
    Serial.println(estadoB);
    int estadoA =(BB,LOW );
    Serial.print("Estado da bomba : ");
    Serial.println(estadoA);

char estado=estadoA;
  char estadoV2;
}

   ************************************************************
   // CONTROLE DA BOMBA
    ************************************************************
 switch (estado)
 {
    case (estadoA): 
     {
     if  (( B2 == LOW && B0== HIGH && A0 == HIGH) ||( B2 == LOW && B0== HIGH && A0 == LOW))
      estado =estadoA ; // bomba continua desligada
     else
     {
      if (( B2 == LOW && B0== LOW && A0 == LOW) ||( B2 == HIGH && B0== LOW && A0 == LOW))
        estado= estadoA; // bomba continua desligada
        else
        {
          if (( B2 == HIGH && B0== LOW && A0 == HIGH) ||( B2 == HIGH && B0== HIGH && A0 == LOW))
           estado = estadoA;// bomba continua desligada
           else
           {
            if (( B2 == HIGH && B0== LOW && A0 == HIGH) ||( B2 == HIGH && B0== HIGH && A0 == LOW)||( B2 == HIGH && B0== HIGH && A0 == HIGH) )
             estado = estadoA;// bomba continua desligada
              else
              {
               if (( B2 == LOW && B0== LOW && A0 == HIGH)||( B2 == LOW && A1== LOW && A0 == HIGH))// ESTADO PROXIMO
               estado = estadoB;
              }
           }  
        }
      }
       break; 
     }
      
   case (estadoB): 
     {
     if (( B2 == LOW && B0== LOW && A0 == HIGH) ||( B2 == LOW && B0== HIGH && A0 == HIGH)) // RESERVATORIO INFERIOR (A) VAZIO
      estado =estadoB; // bomba continua ligada
     else
      {
      if (A0 == LOW || B2==HIGH )// ESTADO PROXIMO
        estado = estadoA; // bomba desligada
      }
      break;
     }   
 }
}
  

Link para o comentário
Compartilhar em outros sites

16 horas atrás, Gleimy Brasil disse:

NÃO CONSIGO ENCONTRAR O ERRO DO SWITCH:

Nós não podemos usar variáveis nas etiquetas, apenas constantes e do tipo: Números inteiros.

/* Exemplo de uso Inadequado da Cláusula Switch in C*/
int main (void){
  unsigned char choose;
  unsigned char variavel_no_label_case;
    switch (choose){
            case (variavel_no_label_case):
            /*    ^~~~~~~~~~~~~~~~~~~~~~
             *    Erro: Não é possível reduzir a uma constante
             */
            }
  return 0;}

Ps.: Então isso é uma regra.

 

 

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!