Ir ao conteúdo

AmandaLimamanda

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

3
  1. Boa noite. Pensei que assim daria certo, mas não tive sucesso. Code: int16 minuto = 0; int16 conta = 0; int LG = 0; second=0; #use delay (clock=4000000) #INT_RA //------------------------------------------------------------------------ void RA_isr(void) { clear_interrupt(INT_RA2); if(input(PIN_A2)) { conta++; LG++; } } void main() { set_tris_a (0b0001100 ); enable_interrupts(GLOBAL); enable_interrupts(INT_RA2); clear_interrupt(INT_RA2); output_low(pin_a0); output_low(pin_a1); while(TRUE) { if (conta >= 3600 ) // passou 1 minuto { conta = 0; minuto++; } if (LG >= 60 ) // passou 1 segundo { LG=0; second++; } ///////////// delay_ms (3000); if((input(!PIN_A3)) && (second==3)) { output_low(pin_a0); output_low(pin_a1); conta = 0; minuto=0; second=o; LG=0; } /////delay_ms (3000); if(( minuto <= 10 ) && (input(PIN_A3)) && (second==3))) { output_high(pin_a0); output_high(pin_a1); } if( minuto > 10) { output_low(pin_ao); output_low(pin_a1); conta = 0; minuto=0; second=o; LG=0; } } }
  2. Boa noite. Entendo pouco de programação, seria dessa maneira? E como é definido o valor (tempo) de "n" e "t"? E queria um tempo de 3 segundos ou mais, antes de ligar e antes de desligar. Obrigada. while(TRUE) { if (conta >= 3600 ) { conta = 0; minuto++; } for(int t=0; t<3; t++) { if(input(PIN_A3)) { output_low(pin_a0); output_low(pin_a1); conta = 0; minuto=0; } } for(int n=0; n<3; n++) { if( minuto <= 5 ) { output_high(pin_a0); } if( minuto >= 5) { output_high(pin_a1); } if( minuto >= 15) { output_low(pin_a0); output_low(pin_a1); conta = 0; minuto=0; } } } }
  3. Boa noite, estou tentando fazer um código de controle e não consigo, a contagem funciona como esperado sem o delay_ms (3000); mas quando coloco, a contagem fica bem superior , teria outra maneira de dar uma pausa sem usar esse delay? Obrigada desde já. int16 minuto = 0; int16 conta = 0; #use delay(clock=4000000) #INT_RA //------------------------------------------------------------------------ void RA_isr(void) { clear_interrupt(INT_RA2); if(input(PIN_A2)) { conta++; } } void main() { set_tris_a (0b0001100 ); enable_interrupts(GLOBAL); enable_interrupts(INT_RA2); clear_interrupt(INT_RA2); output_low(pin_a0); output_low(pin_a1); while(TRUE) { if (conta >= 3600 ) { conta = 0; minuto++; } delay_ms (3000); if(input(PIN_A3)) { output_low(pin_a0); output_low(pin_a1); conta = 0; minuto=0; } if( minuto <= 5 ) { output_high(pin_a0); } if( minuto >= 5) { output_high(pin_a1); } if( minuto >= 15) { output_low(pin_a0); output_low(pin_a1); conta = 0; minuto=0; } } }

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!