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

GPIOTE nRF52 Problem SDK11

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

Related