TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: vasconinicolas en 29 de Enero de 2008, 14:03:11

Título: GOSUB dentro del HANDLER de interruciones
Publicado por: vasconinicolas en 29 de Enero de 2008, 14:03:11
Hola amigos, tengo un problema que no encuentro solucion y se que es una tontera pero no lo veo... Resulta que estoy haciendo un GOSUB dentro del handler de interrupciones, una vez que termino el GOSUB, vuelvo con RETURN (entonces deberia volver al handler debajo del gosub que ya ejecutó), y luego reseteo la bandera de inter + RESUME + ENABLE....
Segun entiendo luego del enable deberia volver al programa desde donde salto

main
cualquier instruccion
GOTO main

esperando la proxima interrupcion...... Bueno pues no anda y no se porque...
Si alguien se da cuenta del problema me lo avisa???
Muchas gracias!!!!!

PD: he modificado el codigo poniendo dentro del handrler lo que antes tenia fuera y trataba de ejecutar con gosub y sorpresa, si funciona asi... Es como que si uso gosub dentro del handler no anda.........
Título: Re: GOSUB dentro del HANDLER de interruciones
Publicado por: Mario en 29 de Enero de 2008, 20:50:47
¿Podrías poner el código completo?
Título: Re: GOSUB dentro del HANDLER de interruciones
Publicado por: ASTROCAR en 29 de Enero de 2008, 23:24:41
si puedes ser mas explicito colega para ver en que se te ayuda de ser posible coloca el codigo

saludos
Título: Re: GOSUB dentro del HANDLER de interruciones
Publicado por: vasconinicolas en 06 de Febrero de 2008, 01:28:57
Cuando se produce una interrupcion el programa salta a la direccion por ej: myint (por el comando: On Interrupt Goto myint)...

Disable                 ' desactivar interrupciones
myint:                 

gosub tarea           'ESTE GOSUB NO SALTA.... TAMPOCO SI PONGO GOTO tarea.....

PIR1.0 = 0               'borro bandera interrupcion
Resume                  ' Return to main program
Enable                  'habilito inter nuevamente
Título: Re: GOSUB dentro del HANDLER de interruciones
Publicado por: dogflu66 en 06 de Febrero de 2008, 07:43:18
El PBP es reacio a dar el control al programador, intenta lo mismo pero
insertando el salto en assembler, es posible que si te lo haga.