TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: mrgse en 06 de Mayo de 2009, 07:23:34

Título: Duda interrupciones + delay
Publicado por: mrgse en 06 de Mayo de 2009, 07:23:34
Hola soy nuevo en el foro y necesito un poco de ayuda para programar mi PIC 16F877. Lo que pretendo es que el PIC vaya ejecutando su programa, en el que hay delays, y se interrumpa cuando reciba una interrupcion desde el PC. Mi duda es, si la interrupcion llega durante un delay, el delay se interrumpe, o espera a que termine??
Si espera a que termine, como podria hacer para tener un delay de 5 minutos y si surgiera una interrupcion durante esos 5 minutos, el programa la tratase, y luego siguiera con el delay donde lo havia dejado?
Muchas gracias!!
PD: Programo en C.
Título: Re: Duda interrupciones + delay
Publicado por: Papalote en 06 de Mayo de 2009, 09:18:55
Hola mira yo tampoco tengo mucha experiencia pero me parece que si llega una interrupcion durante una pausa, el programa inmediatamente atiende la interrupcion y despues vuelve a la instruccion siguiente de la pausa, osea el tiempo que quedaba se pierde
Título: Re: Duda interrupciones + delay
Publicado por: Suky en 06 de Mayo de 2009, 11:12:29
Cuando se activa una interrupción el microcontrolador la trata inmediatamente siempre y cuando este habilitada. En la pila se guarda la dirección que se ejecutaba en el programa antes de la activación de la interrupción, entonces al tratar la interrupción y volver al programa vuelve a la misma posición y no se pierde nada. Además CCS realiza una copia de STATUS y W automáticamente para restablecerlos después de salir de la interrupción.