TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Diego E. en 26 de Febrero de 2010, 17:45:27

Título: Duda con "clear_interrupt(int_rda)"
Publicado por: Diego E. en 26 de Febrero de 2010, 17:45:27
Hola grupo, les pido colaboración por lo siguiente:

En mi programa deshabilito la interrupción int_rda por un tiempo, durante este tiempo le llegan datos del PC,  y efectivamente no entra en interrupción; pero al habilitar nuevamente la interrupción "enable_interrupts(int_rda); se genera la interrupción, para esto trato de limpiar la bandera antes de habilitar así:

clear_interrupt(int_rda);
enable_interrupts(int_rda);

pero la bandera no se limpia

gracias.
Título: Re: Duda con "clear_interrupt(int_rda)"
Publicado por: MGLSOFT en 26 de Febrero de 2010, 18:20:56
Tienes que leer el contenido del buffer, sino la interrupcion seguira generandose.
Puedes hacerlo con Getc()
Título: Re: Duda con "clear_interrupt(int_rda)"
Publicado por: Diego E. en 26 de Febrero de 2010, 18:43:19
MGLSOFT, gracias por la respuesta, efectivamente ese era la solución.
Título: Re: Duda con "clear_interrupt(int_rda)"
Publicado por: MLO__ en 26 de Febrero de 2010, 19:32:11
Hola.

O poner a ceros el registro de recepcion RCREG antes de habilitar la interrupcion.

Saludos
Título: Re: Duda con "clear_interrupt(int_rda)"
Publicado por: Diego E. en 26 de Febrero de 2010, 21:24:49
MLO_ me queda claro.

gracias.