Ok I am using GPIO interrupt and want absolute power saving but when I set the GPIO_INTERRUPT_HIGH_ACCURACY to true it works fine but when I set GPIO_INTERRUPT_HIGH_ACCURACY to false (low accuracy with power saving) the I receive only one interrupt and then my LED stays on (like no other interrupt was detected)
What could be the possible issues in low accuracy mode?
#define GPIO_INTERRUPT_HIGH_ACCURACY true static void gpio_init(void) { ret_code_t err_code; err_code = nrf_drv_gpiote_init(); APP_ERROR_CHECK(err_code); nrf_drv_gpiote_out_config_t out_config = GPIOTE_CONFIG_OUT_SIMPLE(false); // err_code = nrf_drv_gpiote_out_init(PIN_OUT, &out_config); // APP_ERROR_CHECK(err_code); err_code = nrf_drv_gpiote_out_init(PIN_LED, &out_config); APP_ERROR_CHECK(err_code); err_code = nrf_drv_gpiote_out_init(PIN_BUZZER, &out_config); APP_ERROR_CHECK(err_code); nrf_drv_gpiote_in_config_t in_1_config = GPIOTE_CONFIG_IN_SENSE_LOTOHI(GPIO_INTERRUPT_HIGH_ACCURACY); // previous: GPIOTE_CONFIG_IN_SENSE_TOGGLE(true); in_1_config.pull = NRF_GPIO_PIN_PULLDOWN; err_code = nrf_drv_gpiote_in_init(PIN_INT_1, &in_1_config, int_1_pin_handler); //Creating Interrupt Handler APP_ERROR_CHECK(err_code); nrf_drv_gpiote_in_event_enable(PIN_INT_1, true); //Enabling Interrupt for Pin }