Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: SOPHIA91 en 12 de Septiembre de 2015, 00:44:34
Título: PAUSA Y PLAY
Publicado por: SOPHIA91 en 12 de Septiembre de 2015, 00:44:34
Buenas noches mis queridos compañeros, soy nuevo en el uso de los microcontroladores pic, y estoy elaborando un proyecto y necesito saber como puedo PAUSAR una función y volver a dar PLAY. Ejemplo con RB1 pausa y RB2 play.
Que la función quede congelada y al presionar RB2 continua normalmente, ¿quien me podría ayudar con el problema o alguna mejora? MUCHAS GRACIAS AMIGOS ESPERO ME PUEDAN AYUDAR. :oops:
Título: Re: PAUSA Y PLAY
Publicado por: KILLERJC en 12 de Septiembre de 2015, 03:26:59
Pensalo como que tenes que encender una llave y esa llave comanda el programa. Ademas tu boton en RB1 es quien va a manejar que se prenda o apague esa llave.
Otra cosa, por que poner 2 botones, cuando lo podes hacer con 1 :). En el ejemplo, RB1 es una salida y RB2 es uan entrada ( como para un boton )
Código: C
int1 var=0;//Solo 2 estados, 1 o 0
while(TRUE)
{
if(input(PIN_B2)) var^=1;// Cambio el estado del bit 0 de var, eso me va a indicar
if(var)
{
output_high(PIN_B1);
delay_ms(1000);
output_low(PIN_B1);
delay_ms(1000);
}
}
Tenes que darte cuenta que para que funcione el boton, vas a tener que esperar que pasen esos delays que estan puestos, es decir, para que tome efecto el boton vas a tener que tenerlo presionado por unos microsegundos hasta 2 segundos que es la suma de esos delays. Si queres el boton se detecte rapidamente, entonces vas a tener que hacer otras cosas un poco mas complejas como el uso de interrupciones/timers. Y quitar los delays, pero creo que esto va a hacer lo que queres