GPIOTE Example

nRF5 SDK v15.3.0

The GPIOTE Example shows how to use the GPIOTE peripheral by toggling a LED.

The application starts with configuring the GPIOTE output pin to toggle on a GPIOTE task. Timer 0 is then configured to generate events every 200 milliseconds. The events are passed through the PPI peripheral to generate tasks, which are then used by GPIOTE (in task mode) to toggle the GPIO pin. This means that every time there is an EVENT_COMPARE event, the GPIO pin toggles automatically, which can only be achieved using the GPIOTE peripheral.

The task flow is as follows:

[TIMER0]->EVENT_COMPARE->[PPI]->GPIOTE_TASK_OUT->[GPIOTE]->toggle_pin

Page-1 Process.245 Timer0 CC[0] = 200ms Timer0 CC[0] = 200ms Flowline1 Timer0_Event Timer0_Event Process.229 EEP | PPI Channel 0 | TEP EEP | PPI Channel 0 | TEP Flowline1.230 TASK TASK Process.231 GPIO_TE GPIO_TE Flowline1.232 Toggled_Output Toggled_Output Process.233 LED toggling every 200ms LED toggling every 200ms Flowline2 Straight Edge.28 N Straight Edge.29 N Start/End-point Start Start Flowline1.239

Setup

You can find the source code and the project file of the example in the following folder: <InstallFolder>\examples\peripheral\gpiote

LED assignments:

  • LED 1 shows the toggling done by the GPIOTE task.

Testing

Test the GPIOTE Example application by performing the following steps:

  1. Compile and program the application.
  2. Observe that LED 1 toggles at the rate of 200 milliseconds.