Autor Tema: PIC18F26J50 Reset inesperado  (Leído 2153 veces)

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

Desconectado CsDFiV

  • PIC10
  • *
  • Mensajes: 35
PIC18F26J50 Reset inesperado
« en: 17 de Octubre de 2011, 09:47:56 »
que tal?, tal como dice el titulo tengo un problema con el pic18f26j50 que se me reinicia cada una cierta cantidad de tiempo, si bien tengo el wdt apagado lo mismo sucede, no se si a alguien le paso esto, les dejo los fuses en la manera que los tengo configurados y ustedes me diran

Código: [Seleccionar]
#include <18F26J50.h>
#device adc=10
#device ICD=TRUE

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES WDT128         //Postscaler
#FUSES HS                       //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES DEBUG                  //No Debug mode for ICD
#FUSES NOXINST                  //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES NOSTVREN                   //Stack full/underflow will cause reset
#FUSES NOPROTECT                //Code not protected from reading
#FUSES FCMEN                    //Fail-safe clock monitor enabled
#FUSES IESO                     //Internal External Switch Over mode enabled
#FUSES IOL1WAY                  //Allows only one reconfiguration of peripheral pins
#FUSES PRIMARY                  //Primary clock is system clock when scs=00
#FUSES NOWPCFG               
#FUSES WPEND                 
#FUSES WPDIS                 
#FUSES NOCPUDIV             
#FUSES LPT1OSC                  //Timer1 configured for low-power operation
#FUSES T1DIG,MSSPMSK7                     //No PLL PreScaler
#FUSES DSWDT2147483648,DSWDT,DSBOR,DSWDTOSC_INT,WPFP
#use delay(clock=12000000)       //Utilizo frecuencia de 12Mhz

En la configuracion de los bits esta aclarado que una vez apagado el WDT empieza a trabajar el SWDT que en la hoja de datos dice el registro que usa y es el WDTEN y tiene un valor de 0E lo que dejaria los bits configurados de la siguiente manera en binario 00001110 y justamente el ultimo bit que esta en 0 es el SWDT que en la hoja de datos dice que en 0 esta OFF.
Dadas esas circunstancias llegue a la conclusion de que me termine de confundir porque ahora si que no se a donde esta el problema

el codigo del main hace basicamente lo siguiente:

Inicializa el modulo GSM, y espera un mensaje donde la funciones utilizadas son las siguientes


Código: [Seleccionar]

void adquirir()
{
   int32 timeout;
   timeout=0;
   int i=0;
    for(i=0;i<m;i++)
    dato[i]="\0";
    i=0;
   while((timeout==0)&&(i<m))
   {
   while(!kbhit()&&(timeout<50000))
   {
   timeout++;
          delay_us(10);
   }       
if(kbhit())
   {
   dato[i]=fgetc(SERIAL_GSM);
   i++;
   timeout=0;
   }
   }
   return;
}

int RECEPCION_MENSAJE()
{
   char aviso_de_mensaje[6]="+CMT:";
   int recibido;
   adquirir();
   if (strstr(dato,aviso_de_mensaje)!=NULL)
      recibido=1;
   else
   recibido=0;
         return(recibido);
}

en el main lo unico que hago es dejar un while(RECEPCION_MENSAJE()); para que hasta que no llegue el mensaje no siga la rutina.

Espero que se entienda algo y si alguien tiene idea que me de una mano. Desde ya muchas gracias.

Saludos!

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: PIC18F26J50 Reset inesperado
« Respuesta #1 en: 17 de Octubre de 2011, 09:59:06 »
Se resetea con determinado periodo constante o es aleatorio? Si desconectas el módulo GSM, pasa lo mismo? La fuente es adecuada para los requerimientos del módulo GSM?


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado CsDFiV

  • PIC10
  • *
  • Mensajes: 35
Re: PIC18F26J50 Reset inesperado
« Respuesta #2 en: 17 de Octubre de 2011, 10:17:28 »
Suki, si, la fuente es la necesaria, el modulo trabaja bien, y no lo resetea, lei bien las especificaciones de fuente y controle eso con el osciloscopio. El reset es aleatorio en mi opinion pero no puedo asegurarte nada, incluso cuando lo pongo en modo debug no se reinicia entonces ahi si quede muy desconcertado.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: PIC18F26J50 Reset inesperado
« Respuesta #3 en: 17 de Octubre de 2011, 10:37:41 »
O sea, la fuente es de 2A mas o menos, no? Por lo que he visto el módulo puede requerir picos de corriente hasta 2A. Después a simple vista, en código, no se ve nada raro.  :?


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: PIC18F26J50 Reset inesperado
« Respuesta #4 en: 17 de Octubre de 2011, 10:57:21 »
Hola.

No se si en ese pic esta el bit de configuración BROWNOUT .... el cual reinicia al PIC cuando el voltaje esta por debajo de un umbral, habría que desactivarlo: NOBROWOUT.

Saludos
El papel lo aguanta todo

Desconectado CsDFiV

  • PIC10
  • *
  • Mensajes: 35
Re: PIC18F26J50 Reset inesperado
« Respuesta #5 en: 19 de Octubre de 2011, 12:22:21 »
que tal? gracias por contestar. A pesar de los esfuerzos sigue reiniciandose. Lo del BROWNOUT tengo que verlo bien a pesar de que con el osciloscopio no veo caida alguna de tension tendre que revisarlo. En los Bits de configuracion del micro no me dice mucho de hecho no dice nada acerca de eso y no encuentro respuesta. Asi que pasare por cambiar el codigo o empezar de nuevo. Se agradece. Saludos!

Desconectado diguito_69

  • PIC16
  • ***
  • Mensajes: 136
Re: PIC18F26J50 Reset inesperado
« Respuesta #6 en: 19 de Octubre de 2011, 14:32:41 »
Hola, tenes el LVP activado? Si lo tenes activado, conectale una resistencia a masa.
"Carezco de un don especial. Sólo soy apacionadamente curioso". Albert Einstein.