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

NRF52832/52810 System OFF wakeup issue

Hi:

I test the system off mode, I attached a micro vibration sensor. Pulse generated when shaking as follow.

the button config is BSP example default(toggle) ,  i try to use  NRF_GPIO_PIN_PULLUP/NRF_GPIO_PIN_PULLDOWN/ NRF_GPIO_PIN_NOPULL ang BUTTONS_ACTIVE_STATE  One-to-one matching for test. and found when the input is high on hold or low on hold,the system always wakeup. it is true ???? 

Parents Reply Children
  • Hi,

    The GPIO sense mechanism is unrelated to the GPIOTE peripheral. GPIOTE requires a clock, and cannot be used in system OFF. Sense on the other hand is a GPIO feature that allows the pin to detect/sense a voltage level (high or low) and wake up form system OFF when it does. The sense mechanism is configured for instance with nrf_gpio_cfg_sense_set(), or using nrf_gpio_cfg_sense_input() to set up everything with a single function. Essentially this writes the configuration to the corresponding PIN_CNF register.

  • “Sense on the other hand is a GPIO feature that allows the pin to detect/sense a voltage level (high or low) and wake up form system OFF when it does.” Does it mean that when the external input signal remains high or low, the system will always be awakened and unable to sleep?

  • bevis said:
    Does it mean that when the external input signal remains high or low, the system will always be awakened and unable to sleep?

    No. You configure the sense mechanism to detect one level. For instance, if the pin state is normally low and you want to wake up when it is high, then you use NRF_GPIO_PIN_SENSE_HIGH. And vice versa. You should of course also make sure that the pin is never floating. So if there is not always a input signal, then you must use a (internal) pull resistor.

Related