This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

high power consumption when use application timer after disable softdevice

Hi,

I am using nrf52832, and measure the power consumption , I found that when I use application timer "after" nrf_sdh_disable_request(), the power consumption of system down will more than use application timer "before" nrf_sdh_disable_request().

1. I put the timer before nrf_sdh_disable_request(), the system down total current consumption is 0.25mA.

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ret_code_t err_code = nrf_sdh_enable_request();
APP_ERROR_CHECK(err_code);
ret_code_t ret = app_timer_create(&timer_2, APP_TIMER_MODE_REPEATED, timer_handle2);
APP_ERROR_CHECK(ret);
ret = app_timer_start(timer_2, APP_TIMER_TICKS(100), NULL);
APP_ERROR_CHECK(ret);
err_code = nrf_sdh_disable_request();
APP_ERROR_CHECK(err_code);
do {
__SEV();
__WFE();
__WFE();
} while (!(jack_int_detect || button_int_detect || waiting_int_detect));
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

2. I put the timer after nrf_sdh_disable_request(), the system down total current consumption is 0.89mA.

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ret_code_t err_code = nrf_sdh_enable_request();
APP_ERROR_CHECK(err_code);
err_code = nrf_sdh_disable_request();
APP_ERROR_CHECK(err_code);
ret_code_t ret = app_timer_create(&timer_2, APP_TIMER_MODE_REPEATED, timer_handle2);
APP_ERROR_CHECK(ret);
ret = app_timer_start(timer_2, APP_TIMER_TICKS(100), NULL);
APP_ERROR_CHECK(ret);
do {
__SEV();
__WFE();
__WFE();
} while (!(jack_int_detect || button_int_detect || waiting_int_detect));
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Anyone know why the current consumption is different?