nrf52810 does not enter low power during operation, occasional static current increases by 1.6mA

1. Stack ANT_s212_nrf52810_nrf52832_6.1.1, tried disabling all peripherals and only running the following code, GPIO toggles every 20s, occurs after running for a while. int main(void) { nrf_pwr_mgmt_init(); mg_softdevice_init(); mg_gpio_init(); for(;;) { if(NRF_LOG_PROCESS() == false) { nrf_pwr_mgmt_run(); } } } void mg_softdevice_init(void) { ret_code_t err_code = nrf_sdh_enable_request(); APP_ERROR_CHECK(err_code); ASSERT(nrf_sdh_is_enabled()); } void UART_EXTI_handler(nrf_drv_gpiote_pin_t pin, nrf_gpiote_polarity_t action) { if (action == NRF_GPIOTE_POLARITY_HITOLO) { } } void mg_gpio_init(void) { nrf_drv_gpiote_init(); nrf_drv_gpiote_in_config_t in_config = GPIOTE_CONFIG_IN_SENSE_HITOLO(true); in_config.pull = NRF_GPIO_PIN_PULLUP; nrf_drv_gpiote_in_init(UART_EXTI_PIN, &in_config, UART_EXTI_handler); nrf_drv_gpiote_in_event_enable(UART_EXTI_PIN, true); }

2. Stack ANT_s212_nrf52810_nrf52832_6.1.1, tried disabling all peripherals and only running UART RX code, GPIO init disabled, occurs after running for a while.

Overall power consumption matches the case when masking nrf_pwr_mgmt_run(); not sure what causes the idle loop without entering low power. Testing suggests that as long as one interrupt event exists, this issue appears after running for a while.

Parents
  • It's been a long time since I looked at the nRF5 SDK, which pin is the UART_EXTI_PIN in this case? Does it happen on only one specific pin or any pin? Is something connected to the pin that may pull it low externally? Have you probed the pin to see if there is anything happing on the pin? In the UART_EXTI_handler() can you also check that the pin is UART_EXTI_PIN?

    Kenneth

Reply
  • It's been a long time since I looked at the nRF5 SDK, which pin is the UART_EXTI_PIN in this case? Does it happen on only one specific pin or any pin? Is something connected to the pin that may pull it low externally? Have you probed the pin to see if there is anything happing on the pin? In the UART_EXTI_handler() can you also check that the pin is UART_EXTI_PIN?

    Kenneth

Children
No Data
Related