High power consumption after uninit of libuarte

Hi,

currently I'm facing an issue with the power consumption of my pcb. The idle power consumption is at about 20 µA. After initialising the UART it goes up to over 1 mA. If I uninitialise the UART again, the power consumption stays at about 280 µA which is much higher than before. At the moment of the test both pins from the UART were disconnected. 

I'm using SDK5 17.1.0 and the following code snippets to (un-)initialise the UART:

//Definition
NRF_LIBUARTE_ASYNC_DEFINE(uart_gsm, 0, 1, NRF_LIBUARTE_PERIPHERAL_NOT_USED, NRF_LIBUARTE_PERIPHERAL_NOT_USED, 255, 3);

// Activation
nrf_libuarte_async_config_t nrf_libuarte_async_config = {
                .tx_pin     = PIN_GSM_RX,
                .rx_pin     = PIN_GSM_TX,
                .baudrate   = NRF_UARTE_BAUDRATE_9600,
                .parity     = NRF_UARTE_PARITY_EXCLUDED,
                .hwfc       = NRF_UARTE_HWFC_DISABLED,
                .timeout_us = 100,
                .int_prio   = APP_IRQ_PRIORITY_LOW_MID
            };

uint32_t err_code = nrf_libuarte_async_init(&uart_gsm, &nrf_libuarte_async_config, uart_gsm_event_handler, (void *)&uart_gsm);
APP_ERROR_CHECK(err_code);

nrf_libuarte_async_enable(&uart_gsm);
            
//Deactivation
nrf_libuarte_async_uninit(&uart_gsm);
           
nrf_gpio_input_disconnect(PIN_GSM_TX);
nrf_gpio_input_disconnect(PIN_GSM_RX);

Is there anything I'm missing when deactivating the UART? How can I go back to my idle power consumption?

Best regards,

Christian 

Parents Reply Children
Related