Dear Nordic,
I am having some apparent delays in the time that passes from the pressing of a button, and the execution of the ISR that this button triggers. I am using GPIOTE to generate this interrupt.
ret_code_t err_code;
err_code = nrf_drv_gpiote_init();
APP_ERROR_CHECK(err_code);
nrf_drv_gpiote_in_config_t in_config = GPIOTE_CONFIG_IN_SENSE_LOTOHI(true);
in_config.pull = NRF_GPIO_PIN_NOPULL;
err_code = nrf_drv_gpiote_in_init(PIN_IN, &in_config, in_pin_handler);
APP_ERROR_CHECK(err_code);
nrf_drv_gpiote_in_event_enable(PIN_IN, true);
Apart from this, my application also is communicating continously using ANT protocol (S210), TIMER2 is interrupting each 100us. Also, each time I press the button, the task would be to read a device via I2C. I want to do these reads at least with a frequency of 20Hz (I2C is configured to work at 400kHz)
Why is it taking (apparently, from debugger and also from scope) sooo long in start this interrupt service routine? I didn't measure it but it looks like its of the seconds (1 or 1.5 seconds). Inadmissible. Any idea why?
Thanks!!!!