buenas noches disculpen estoy comenzando con el lenguaje de Basic con el pbp y el mplab , hace un tiempo hice el prgrama para un pic16f84a y el 16f648 y me anduvieron pero , avance el proyecto y le inclui una interrupcion la cual funciona , para situar mas el punto, tengo un programa , si se activa la interrupcion , el programa de la interrupcion es un if qe pregunta al puerto RB4 si esta en 1 o 0 osea :
IF PORTB.4=0 THEN
GOSUB PROG
ELSE
GOSUB PRIG
ENDIF
RETURN
ENABLE
Elijiendo un programa salta a otros subrutinas llamados prog y prig y en prog y prig hay otros if que preguntan el ultimo estado qe tenian los puertos:
PROG:
IF PORTB=%10101010 then
PORTB=%11101000
PAUSE 2000
PORTB=%01001000
PAUSE 20000
ELSE
PORTB=%01001000
PAUSE 20000
ENDIF
RETURN
PRIG:
IF PORTB=%01000110 THEN
PORTB=%00001000
PAUSE 2000
PORTB=%01001110
PAUSE 20000
ELSE
PORTB=%01001110
PAUSE 20000
ENDIF
RETURN
el problema esta en qe una de las rutinas de interrupcion me anda ! es decir primero pasa por el primer if del puerto rb4 luego decide qe programa y vuelve a preguntar , es decir una rutina anda completa (prog) pero prig , es como si me saltara la linea despues del "then" o sea me salta la parte del
........................"THEN
PORTB=%00001000
PAUSE 2000"
y se me va a a lo qe sigue luego de esa instruccion es raro y me he travado con eso una semana , descubri que si le cambio en el "IF PORTB.4=O" se lo cambio por "IF PORTB.4=1" prig me anda completo pero se me va el error a prog
quisiera saber si prponen algun tipo de solucion desde ya muchas gracias !! saludos y buenas noches!