Hello,
I am working with the GPIO tasks and events feature on my nRF52832 DK. And I noticed some strange behaviour. I want that two Pins will toggle if some timer events occur. I initialize both pins (P0.18 and P0.19) with the driver functions:
err_code = nrf_drv_gpiote_init();
nrf_drv_gpiote_out_config_t out_config_pin = GPIOTE_CONFIG_OUT_TASK_TOGGLE(false);
err_code = nrf_drv_gpiote_out_init(ARDUINO_8_PIN, &out_config_pin);
APP_ERROR_CHECK(err_code);
nrf_drv_gpiote_out_task_enable(ARDUINO_8_PIN);
nrf_drv_gpiote_out_config_t out_config_pin_19 = GPIOTE_CONFIG_OUT_TASK_TOGGLE(false);
err_code = nrf_drv_gpiote_out_init(ARDUINO_9_PIN, &out_config_pin_19);
APP_ERROR_CHECK(err_code);
nrf_drv_gpiote_out_task_enable(ARDUINO_9_PIN);
The Pins were configured that way that the are lying in different configurationregisters. Now, if I want to compine the gpio task with an timer event I use this driver function to get the gpiote task address:
nrf_drv_gpiote_out_task_addr_get(ARDUINO_8_PIN);
nrf_drv_gpiote_out_task_addr_get(ARDUINO_9_PIN);
Both functions return the same task address. But actually the first function shall return 0x40006000 and the seconde shall return 0x40006004 for the two TASK_OUT[x]. There is a mistake in the driver library?
Thank you in advance,
Florian