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 )
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