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

UARTE DMA keeps clock active

Hi,

for a new project we use the NRF52480, I can get it into low power mode with a total use of 20µA ( with all the other hardware on the board ).
But when I initialize the UARTE, even without communicating, the current consumption jumps to 610µA when i trie to go into deepsleep.

when I initialize a normal UART, there is no problem and the power consumpion goes back to 20µA after communicating.

I guess the DMA is blocking my program to go into deep sleep mode.
I have already tried disabling the UARTE peripheral even after waiting for the last writing action of the DMA but nothing seems to work.

Is there a way to disable the DMA or something? or is the DMA not the issue here?

Thanks and Regards, Rob

  • Hi,

    I have already tried disabling the UARTE peripheral even after waiting for the last writing action of the DMA but nothing seems to work.

    Did you use nrfx_uarte_uninit() / nrf_drv_uart_uninit() for this ?

    If yes, make sure that use the latest version of nrfx. The new driver version now waits for TX_STOPPED event before disabling the peripheral. This gracefully uinit of the UARTE peripheral was introduced in nrfx v1.7.2. See this link. (Note that SDK 15.3 is bundled with nrfx v1.6.2)

Related