This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

case about nRF9160 UART off on application

Hi,

Why I use the function  m_device_state_set(cons, PM_DEVICE_STATE_SUSPENDED);  to close the serial port is still a large current:38.80uA?

The verification method is as follows:

sdk :ncs v1.8.0

dk:PCA10090 0.9.0

example path:D:\ncs\v1.8.0\peter\0_uart_off_button

0_uart_off_button.zip

test: current on init:38.80uA

test current on Press button 1:526.9uA

Thank you for all your assistance.
Kind regards,
Peter.Min

  • Hi, I tried running your code here, and I got the same results as you did. The problem is this line:

    ret = gpio_pin_interrupt_configure_dt(&button, GPIO_INT_EDGE_TO_ACTIVE)

    GPIO_INT_EDGE_TO_ACTIVE will enable the GPIOTE IN event by default, which will lead to about 20-40 uA of additional current.

    The solution is to use the GPIO SENSE mechanism instead. You can do this by adding the following to the prj.conf file:

    CONFIG_GPIO_NRF_INT_EDGE_USING_SENSE=y

    Now the current should drop to normal idle current.

    Best regards,
    Stian

  • Hi Stian Røed Hafskjold,

    Tests are available.
    Thank you very much.
    Kind regards,
    Peter.Min

Related