TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Mikro-77 en 01 de Mayo de 2013, 13:06:59
-
Hola queria saber si me pueden ayudar con mi duda sobre como hacer para que al pulsar un botón el pic espere a que se deje de pulsar para seguir con la siguiente sentencia, por ejemplo, yo uso un contador y un botón y al pulsar el botón el contador suma numero por numero pero solo para cuando dejo de pulsarlo se para el conteo y lo que quiero es que al pulsar el boton sume solo uno numero y se pare para hacer lo mismo al volver a pulsar.
saludos y gracias amigos por su ayuda!
-
lo que puedes hacer es preguntar por el estado de la pulsación, y dejar el micro "enclavado" en un while mientras no hayas soltado el botón, ya luego modificas el contador, seria algo como asi:
IF(PULSADOR==0)
{
WHILE(!PULSADOR){}
CONTADOR ++;
}
-
Gracias por responder amigo por mi parte encontre esta porcion de codigo
while(!input(pin_C2)); //Espera a que presionen el boton set
delay_ms(10); //Retardo de 10ms para evitar rebotes
while(input(pin_C2)); //Espera a que liberen el boton set
lcd_gotoxy(1,1); //Ubica el cursor en la posicion 1,1
tengo dos dudas 1ro que significa (!input) y la 2da que diferencia hay entre tu codigo y el que encontre ?
-
eso es ccs, input es una funciónn del compilador para leer el estado de un pin. con el primer while preguntan si c2=0 y ponen una espera para el antirrebote, y luego preguntan si c2=1 es decir, si ya soltaron el boton. Diferencia funcional no veo ninguna , habría que sumarle a la mía el antirrebote. Lo del lcd_gotoxy ya es otra cosas del contexto del programa que encontraste
-
Exelente tu respuesta amigo me quedo muy claro !
un abrazo a todos los amigos colombianos que me caen muy bien! menos cuando nos ganan en los partidos :5] :mrgreen: