Autor Tema: Duda con "clear_interrupt(int_rda)"  (Leído 2269 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Duda con "clear_interrupt(int_rda)"
« 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.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Duda con "clear_interrupt(int_rda)"
« Respuesta #1 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()
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Duda con "clear_interrupt(int_rda)"
« Respuesta #2 en: 26 de Febrero de 2010, 18:43:19 »
MGLSOFT, gracias por la respuesta, efectivamente ese era la solución.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Duda con "clear_interrupt(int_rda)"
« Respuesta #3 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
El papel lo aguanta todo

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Duda con "clear_interrupt(int_rda)"
« Respuesta #4 en: 26 de Febrero de 2010, 21:24:49 »
MLO_ me queda claro.

gracias.


 

anything