Ir ao conteúdo

Posts recomendados

Postado

Teria como fazer uma comparação na programação tipo, se o botão estiver pressionado por 1 segundo, executa 1 comando, se continuar pressionado por 2 segundos, incrementa esse comando ou novos se quiser....???

 

Em C para PIC

  • Membro VIP
Postado

Claro que tem. Uma das alternativas é criar uma interrupção do timer de 1/10seg e incrementar uma variável decseg p.ex.

#define botao RB0#define led1 RB1#define led2 RB2 unsigned char decseg;void timer interrupt() //vai ter que ver o manual do compilador{//...reinicializa hw;//vai ter que ver o datasheetdecseg++;}void façaisso(){//...led1=1;} void façaaquilo(){//...led2=1;} void main(void){//inicializa hw ...vai ter que ver o datasheetfor(;  {  if (!botao)     {     if (decseg>9) façaisso(); //depois de 1 segundo pressionado...     if (decseg>19) façaaquilo(); //depois de 2 segundos pressionado...     //etc...     }else {decseg=0; led1=led2=0;}//se soltar recomeça  }}

Tem + maneiras mas no momento não consigo pensar... se é que um dia consegui...

Visitante
Este tópico está impedido de receber novas respostas.

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!