Hi,
I'm using an application with FreeRTOS, nRF52833, SDK 16.
When I'm trying to get it into low power (sleep mode) the system still consumes ~4mA
In vPortSuppressTicksAndSleep (port_cmsis_systick.c file) I forced to use WFE instead sd_app_evt_wait
#if 0 #ifdef SOFTDEVICE_PRESENT if (nrf_sdh_is_enabled()) { uint32_t err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); } else #endif #endif { /* No SD - we would just block interrupts globally. * BASEPRI cannot be used for that because it would prevent WFE from wake up. */ do{ __WFE(); } while (0 == (NVIC->ISPR[0] | NVIC->ISPR[1])); }
After changing it the power consumption was reduced by ~3.5mA
What is the proper way to fix this problem?