Hola, bueno, vengo a comentarles un problema que tengo a ver si me pueden ayudar, espero que si...
programo en pbp pic basic proeste es el problema...
tengo 3 botónes conectados al pic, y un lcd, cuando uno de esos botones se activa el lcd muestra un nuevo mensaje (esto lo hago por medio de if y gosub return, if boton = 0 then gosub etiqueta)
y ya estando en esa etiqueta que me llevo el gosub, igual vuelvo a detectar el boton para ir a otra etiqueta que mostrar otro mensaje...el problema esta aqui... tengo que poner en cada etiqueta pause 500 para ue el lcd se inicialize correctamente... entonces pause 500, muestro el mensaje en el lcd, detecto boton si esta presionado ejecuto gosub, si no paso nada regreso al inicio de la etiqueta, entonces, cada que inicio de nuevo la etiqueta tengo q esperar de nuevo 500 ms, que me son incomodos a la hora de detectar el boton, pues en la vida real, tengo que presionarlo un rato en lo que el programa llega a aesa parte de deteccion, y me lo ejecuta, pero aveces me pasod e rato, y es incomodo....este es la parte del p´roble,ma del programa( aue es repetitiva durante todo el programa)...
UNO:
pause 500
LCDOUT $FE, 1, "buenos"
LCDOUT $FE, $C0, "dias"
IF DERECHA = 0 THEN pause 50
IF DERECHA = 0 THEN GOSUB DOS
IF CENTRO = 0 THEN pause 50
IF CENTRO = 0 THEN INICIO
pause 500
GOTO UNO
DOS:
LCDOUT $FE, 1, "buenas noches"
LCDOUT $FE, $C0, "adios"
IF DERECHA = 0 THEN pause 50
IF DERECHA = 0 THEN GOSUB TRES
IF CENTRO = 0 THEN pause 50
IF CENTRO = 0 THEN INICIO
IF IZQUIERDA = 0 THEN PAUSE 50
IF IZQUIERDA = 0 THEN return
GOTO DOS
TRES:
LCDOUT $FE, 1, "hola"
LCDOUT $FE, $C0, "a todos"
IF CENTRO = 0 THEN pause 50
IF CENTRO = 0 THEN INICIO
IF IZQUIERDA = 0 THEN pause 50
IF IZQUIERDA = 0 THEN RETURN
IF DERECHA = 0 THEN PAUSE 50
IF DERECHA = 0 THEN GOSUB CUATRO
GOTO TRES