Hi,
I am trying to put the micro nRF52 in sleep in the configuration "System OFF, No RAM retention, Wake on GPIO " in order to spend 1.2 uA.
After start:
configure all IO in INPUT,
enable WDT,
anable the timer and,
anable the interrupt to wake up the micro on PIN PO_19:
nrf_drv_wdt_config_t config = NRF_DRV_WDT_DEAFULT_CONFIG;
err_code = nrf_drv_wdt_init(&config, wdt_event_handler);
APP_ERROR_CHECK(err_code);
err_code = nrf_drv_wdt_channel_alloc(&m_channel_id);
APP_ERROR_CHECK(err_code);
nrf_drv_wdt_enable();
err_code = app_timer_init(); // inizializzazione RTC per funzionamento Bluetooth
APP_ERROR_CHECK(err_code);
nrf_delay_us(10000);
BUTTON_EnableInterrupt();
gIsButtonSwitched = false;
gIsButtonSwitched = false;
while(!gIsButtonSwitched)
{
__WFE();
}
In this situation when the micro fall in the __WFE condiction on my instrument I can found a peack of current comsuction every about 21 mS.
So the average current comsuction is about 3 uA and not 1,2 uA.
What does this peak of current depend on?
Marco