Hi. I am implementing a low power operation in my firmware, but the UART de-initialization is causing me odd issues. In order to intialize, I call the function UART_Initialize() (placed below), and to de-initialize I call UART_DeInitialize() (also below).
In doing this step of deinit, I add 8 mA current consumption. That obviously isnt right, but is there something dumb I am missing? I think I am following the correct process, but am open to any thoughts.
To add, the function calls in the init and de-init below are unchanged from the SDK provided by Nordic.
Thank you!
uint32_t UART_Initialize(void) { app_uart_comm_params_t const comm_params = { .rx_pin_no = SMILERX_PIN_NUMBER, .tx_pin_no = SMILETX_PIN_NUMBER, .flow_control = APP_UART_FLOW_CONTROL_DISABLED, .use_parity = false, .baud_rate = NRF_UART_BAUDRATE_115200 }; uint32_t rtncode_uart = 0; APP_UART_FIFO_INIT(&comm_params, UART_RX_BUF_SIZE, UART_TX_BUF_SIZE, uart_event_handle, APP_IRQ_PRIORITY_LOWEST, rtncode_uart); return rtncode_uart; } void UART_DeInitialize(void) { nrfx_uarte_rx_abort(); nrfx_uarte_tx_abort(); app_uart_close(); //https://devzone.nordicsemi.com/f/nordic-q-a/35510/uart-deinit-does-not-reduce-power-consumption-and-it-too-big-600ua //https://devzone.nordicsemi.com/f/nordic-q-a/26030/how-to-reach-nrf52840-uarte-current-supply-specification/102605#102605 *(volatile uint32_t *)0x40002FFC = 0; *(volatile uint32_t *)0x40002FFC; *(volatile uint32_t *)0x40002FFC = 1; }