Setup:
- We have a custom board using the BL654 (Laird Connectivity) module with the NRF52840 core using SDK 17.1
Issue:
- On power up we configure the GPIO 41 as an input with internal pullup (NRF_GPIO_PIN_PULLUP)
. The input in this test is disconnected from any button or input source
- We notice an extra ~ 140 uA when setting this input as a pullup. The extra 140 uA doesn't occur when configuring input as no pull (NRF_GPIO_PIN_NOPULL)
- If we reset the board using the reset button then the issue goes away (even when using the internal pullup)
Question:
- Why are we seeing 140 uA current leakage on this pin?
example code
void config_gpio_input(void) { nrfx_gpiote_pin_t pin_num = 41u; uint32_t err_code = nrfx_gpiote_init(); ASSERT(0 == err_code); nrfx_gpiote_in_config_t in_config = NRFX_GPIOTE_CONFIG_IN_SENSE_TOGGLE(false); in_config.pull = NRF_GPIO_PIN_PULLUP; nrfx_err_t init_err = nrfx_gpiote_in_init(pin_num, &in_config, gpio_event_handler); ASSERT(0 == init_err); nrf_drv_gpiote_in_event_enable(pin_num, true); }