Estoy usando WDT para activar pic16lf1619 desde el modo de suspensión. Tengo todos los pines no utilizados configurados como salida y los conecté con un 10 kohm al suelo. Lo que está sucediendo es que cuando está en reposo, la corriente es de aproximadamente 5 mA. Leí que la hoja de datos parece hacer lo que se necesita, ¿puede alguien ayudarme a resolver esto?
Si por casualidad hay algún ejemplo a seguir o algún artículo para leer para comprender mejor este problema de consumo de energía.
A continuación se muestra el código que estoy usando
void main() {
// then, setup OPTION as a first thing to do after each reset
// OPTION_REG = 0b10001111;
OSCCON = 0b00000000 ; // Set the INTOSC= 31KHZ
FVRCON = 0x00;
// ANSELA = 0x00;
CM1CON0 = 0x00;
CM2CON1 = 0x00;
// WDTCON0 = 0b00011000; // Set the WDT time out to 4 second
WDTCON0bits.WDTPS1 = 1;
TRISA = 0x00;
TRISB = 0x00;
TRISC = 0x00;
ODCONA = 1;
// ODCONB = 1;
// ODCONC = 1;
//
// WPUA = 0x00;
// WPUB = 0x00;
// WPUC = 0x00;
// while(OSCSTATbits.LFIOFR==0){}; //wait until LPOSC is ready
while(1)
{
CLRWDT();
RA2 = 1;
// NOP();
__delay_ms(5000);
RA2 = 0;
// NOP();
__delay_ms(5000);
WDTCON0bits.SEN = 1;
SLEEP();
// SLEEP();
// SLEEP();
WDTCON0bits.SEN = 0;
}
}