Hi,
I try to reduce the sleep current of PIC10F322, but not possible to go below 10.5uA.
Originally I have PWM, ADC, FVR, TMR2 in my project, but now I created an empty one and didn't added any of them.
I use MCC, checked if all the register/service switched off, even the WDT and the BOR too.
But the power usage is 10.5uA still.
My code is extremly simple in that skeleton version:
while (1)
{
// Add your application code
IO_RA2_SetHigh();
__delay_ms(2000);
IO_RA2_SetLow();
IO_RA1_SetLow();
IO_RA0_SetLow();
SLEEP();
NOP();
}
WDT disabled and WDT enabled doesn't change the current usage neither.
The device_config.c is the following
pragma config FOSC = INTOSC // Oscillator Selection bits->INTOSC oscillator: CLKIN function disabled
#pragma config BOREN = OFF // Brown-out Reset Enable->Brown-out Reset disabled
#pragma config WDTE = OFF // Watchdog Timer Enable->WDT disabled
#pragma config PWRTE = OFF // Power-up Timer Enable bit->PWRT disabled
#pragma config MCLRE = ON // MCLR Pin Function Select bit->MCLR pin function is MCLR
#pragma config CP = OFF // Code Protection bit->Program memory code protection is disabled
#pragma config LVP = ON // Low-Voltage Programming Enable->Low-voltage programming enabled
#pragma config LPBOR = OFF // Brown-out Reset Selection bits->BOR disabled
#pragma config BORV = LO // Brown-out Reset Voltage Selection->Brown-out Reset Voltage (Vbor), low trip point selected.
#pragma config WRT = OFF // Flash Memory Self-Write Protection->Write protection off
There is only 1 lead on the pins (with a resistor to VDD, but If I remove it is the same.)
only 1 10uF cap is there (if I remove it is the same.
The current measure unit is an old voltcraft m-4650B which is 4.5 digits and quite punctual it has 200uA limit and capable to measure 0.1uA too.
VDD=2.8V if I reduce to 2.3 it goes down to 9.5uA but not below 1uA.
No other idea.
Thanks,
Szabolcs