Autor Tema: Cómo configurar dos pulsadores  (Leído 1354 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jhonjz

  • PIC10
  • *
  • Mensajes: 19
Cómo configurar dos pulsadores
« en: 20 de Septiembre de 2012, 19:06:52 »
Hola a todos, ya he elaborado algunas sencillas aplicaciones, la última fue la de un semáforo usando un pic16f877, aún soy muy novato en este campo de la electrónica, sin embargo, creo que todo con prácitca y dedicación se puede lograr abarcar actividades más complejas. La duda que traigo en esta ocasión tiene que ver en cómo puedo configurar dos pulsadores digamos RC0 Y RE0 de tal forma que una vez que se pulse RE0 me modifique o cambie la manera de trabajar de RC0, digamos por ejemplo que si RC0 me está incrementando un valor, una vez que se pulse RE0, me lo modifique y quede trabajando al contrario, ya he visto dos formas de incrementar y decrementar mediante el códgio a=a+1 y a=a-1 u otra forma es usando ++ y --, esto me funcionó perfectamente en el programa que ahora estoy montando, pero con los dos pulsadores RC0  solamente me los incrementa y RE0 lo contrario, y esto no es lo que pretendo, sino que RE0 solamente cambie la función de RC0, o sea que bien sea que incremente o decremente, cómo lo hago?
Agradezco su coloaboración. Saludos.

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Cómo configurar dos pulsadores
« Respuesta #1 en: 20 de Septiembre de 2012, 19:43:14 »
  Lo que puedes hacer es que al presionar RE0 cambie de valor una bandera (variable que tome el valor 0 o 1). Cuando presiones RC0, debes testear el estado de dicha variable y si es 0 decrementas, si vale 1 incrementas.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado fantaxmax

  • PIC16
  • ***
  • Mensajes: 107
    • Libertycraft - Minecraft
Re: Cómo configurar dos pulsadores
« Respuesta #2 en: 20 de Septiembre de 2012, 21:19:56 »
imagino que usas ccs, entonces aqui dejo lo que podrias hacer

para el boton RC0

Código: C
  1. int modo;
  2. int a;
  3. void RC0() //es solo referencia
  4. {
  5. if(modo==0x00){a++;}
  6. else if(modo==0x01){a--;}
  7. }

para el boton RE0

Código: C
  1. //asumo que se toman las mismas variables que arriba
  2. void RE0()
  3. {
  4. {
  5. if(modo==0x00){modo=0x01;}
  6. else if(modo==0x01){modo=0x00;}
  7. }

teoricamente con eso debiese funcionarte, cabe destacar que lo escribi aqui y no lo he probado, pero es tan simple que va a funcionar, lo que yo llame como funcion RC0 es lo que debe hacer cuando apretas el boton RC0, igualmente para RE0 espero te sirva

Saludos!
"El presente es suyo, El futuro es mio" N.T.
El conocimiento es gratuito e ilimitado, solo debes saber donde buscarlo.

Desconectado jhonjz

  • PIC10
  • *
  • Mensajes: 19
Re: Cómo configurar dos pulsadores
« Respuesta #3 en: 20 de Septiembre de 2012, 22:31:05 »
Gracias fantaxmax, interaré realizar lo que me propones, parece que sí funciona, Ah! tamibén agradezco a AngelGris, lo de la bandera o flag era lo que me faltaba.