Autor Tema: Interrupts disabled during call to prevent re-entrancy: (Usart_Activa_rx_nodo)  (Leído 8801 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado micronet3

  • PIC18
  • ****
  • Mensajes: 288
hola, amigos una consulta saben, en el programa que tengo para comunicacion serial pic-pc me sale el siguiente warning, alguien sabe que significa porfa este warning?
gracias, seguire buscando una solucion para esto.

Interrupts disabled during call to prevent re-entrancy: (Usart_Activa_rx_nodo)

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Interrupts disabled during call to prevent re-entrancy: (Usart_Activa_rx_nodo)
« Respuesta #1 en: 08 de Octubre de 2009, 13:55:00 »
tienes algun delay dentro de la interrupcion?
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado micronet3

  • PIC18
  • ****
  • Mensajes: 288
Re: Interrupts disabled during call to prevent re-entrancy: (Usart_Activa_rx_nod
« Respuesta #2 en: 08 de Octubre de 2009, 14:29:59 »
no amigo, ningun delay, lo que si hay es comparaciones de variables.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Interrupts disabled during call to prevent re-entrancy: (Usart_Activa_rx_nodo)
« Respuesta #3 en: 08 de Octubre de 2009, 14:33:48 »
llamas alguna subrutina pequeñita dentro de la interrupcion???

Tal vez esa comparación utilice muchos ciclos , tuve muchisimos problemas para quitar ese warning y me dejara de desactivar las interrupciones.

Yo no tenia delay , pero si llamaba una rutina que solo ponia a 0 un pin.Y como esa rutina la ocupaba afuera de la interrupcion,me mandaba ese warning , una cosa extraña.

Si puedes cuelga tu programa.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Interrupts disabled during call to prevent re-entrancy: (Usart_Activa_rx_nodo)
« Respuesta #4 en: 08 de Octubre de 2009, 14:34:27 »
haz uso de banderas dentro de la interrupcion para salir rapidamente de ella y en el main procesas lo q necesitas
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado micronet3

  • PIC18
  • ****
  • Mensajes: 288
Re: Interrupts disabled during call to prevent re-entrancy: (Usart_Activa_rx_nod
« Respuesta #5 en: 08 de Octubre de 2009, 14:46:41 »
pues si amigo llamo a una funcion que esta fuera de la interrupcion
esta es la funcion que llamo cuando estoy dentro de la interrupcion del timer1
Código: [Seleccionar]

void enviarColor(int nombre,int pos)
{
   char posx[4];
   itoa(pos,10,posx);
   USART_activa_tx_nodo();
   fputc(id_esclavo[nombre++],nodo);
   fputc(id_esclavo[nombre],nodo);
   fputc('3',nodo);
   fputc('p',nodo);
   fputc('s',nodo);
   fputc(posx[0],nodo);
   fputc(posx[1],nodo);
   fputc(posx[2],nodo);
   fputc(13,nodo);
   USART_activa_rx_nodo();
}

gracias, si estoy utilizando banderas para salir lo mas rapido posible de la interrupcion


Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Interrupts disabled during call to prevent re-entrancy: (Usart_Activa_rx_nodo)
« Respuesta #6 en: 08 de Octubre de 2009, 15:07:16 »
Por los fputs , se me hace demasiado dentro de la interrupcion.Supongo que eso tienes que enviar cada X tiempo.

Que interrupciones tienes activadas?

Desconectado micronet3

  • PIC18
  • ****
  • Mensajes: 288
Re: Interrupts disabled during call to prevent re-entrancy: (Usart_Activa_rx_nod
« Respuesta #7 en: 09 de Octubre de 2009, 12:27:16 »
exacto en la interrupcion del timer1 estoy comparando la hora, y de acuerdo a una hora prefijada envio una orden.
 tengo habilitadas tres interrupciones

#int_TIMER1
#int_EXT2
#INT_RDA

 Bueno en esto tambien creo que estoy haciendo un desperdicio de recursos ya que todo el tiempo estoy comparando la hora del relog(ds1307) y la que he grabado para que se active a esa hora.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Interrupts disabled during call to prevent re-entrancy: (Usart_Activa_rx_nodo)
« Respuesta #8 en: 09 de Octubre de 2009, 14:23:46 »

Prueba quitando la rutina para ir descartando la fuente de ese warning.

Asi fue como yo logre salir de ese enredo.

Desconectado micronet3

  • PIC18
  • ****
  • Mensajes: 288
Re: Interrupts disabled during call to prevent re-entrancy: (Usart_Activa_rx_nod
« Respuesta #9 en: 09 de Octubre de 2009, 17:55:23 »
Ahora entiendo cuando dijistes que utilizara flag para salir rapidamente de la rutina de interrupcion, pues habia interpretado mal. con esto he solucionado mi problema ya no aparecen los warning, todo el codigo lo he puesto  fuera de la rutina de interrupcion.
para ejecutar estas rutinas utilizo los flag que estan en la rutina de interrupcion del timer1.

problema solucionado gracias a todos