Ir ao conteúdo

Posts recomendados

Postado

Já fiz de tudo. Não dá certo. Ou funciona o primeiro conjunto de comandos que chama uma função (sensor_ir) dentro do laço for. Ou funciona uma lógicazinha boba referente a dois botões. Já tentei pôr FOR dentro de WHILE e vice-versa, nada. Compila sem erros (ccs), mas os dois juntos não funcionam.

 

Como tem que ficar pra funcionar os dois juntos ? ...alguém sabe (e quer dizer) ? ,,,mas assim, direto, sem mandar eu ler livros, tutoriais, etc. Desconfio que o motivo seja que ambos são laços de repetição infinita, mas preciso que as duas funções funcionem, e não aceita pôr os comandos juntos dentro de for ou dentro de while.

 

GRATO

 

 

for(;;){

      if(sensor_ir()){
        while(sensor_ir()){
        output_high(PIN_B3);
        delay_ms(5);
        }
     }
        output_low(PIN_B3);
   }

   while(TRUE)
   {
     if(input(PIN_B0)==0){
      while(input(PIN_B0)==0)
       delay_ms(100);
       output_high(PIN_B1);
     }

 

Postado

Olá @eletron1791, no caso esse código esta esturutaro, portanto o segundo laço só será iniciado quando o primeiro laço for encerrado.  Se voce define o primiro laço para rodadar infinitamente ele nunca terminará impossibilitando que o sengundo laço se inicie. Na lógica que está aplicando os dois nunca funcionarão juntos.

Postado
13 minutos atrás, eletron1791 disse:

Boa ederlap, e como tem que ficar para rorarem juntos ?

Não sei qual seria o  seu projeto mas acho que a forma correta é:

 

for(;;){

   if(sensor_ir()){
     output_high(PIN_B3);
     delay_ms(5);
   }
   
   output_low(PIN_B3);
   
   if(input(PIN_B0)==0){
      output_high(PIN_B1);
      delay_ms(100);
   }
   
   output_low(PIN_B0);
}

//ou

while(TRUE){for(;;){

   if(sensor_ir()){
     output_high(PIN_B3);
     delay_ms(5);
   }
   
   output_low(PIN_B3);
   
   if(input(PIN_B0)==0){
      output_high(PIN_B1);
      delay_ms(100);
   }
   
   output_low(PIN_B0);
}

 

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!