nRF51 SDK - S120 SoftDevice
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
QDEC Example

The QDEC Example demonstrates the use of the quadrature decoder (QDEC) peripheral.

The example uses the software quadrature encoder simulator QENC to produce input. The quadrature encoder simulator uses one channel of the GPIOTE module. The state of the encoder changes according to the sampling clock generated by the LED output.

The QDEC inputs A and B must be connected to the QENC outputs A and B, respectively. The QDEC LED output must be connected to the QENC LED input.

QENC produces a variable number of positive and negative pulses in an infinite loop. These pulses are synchronized with the bursts of clock impulses that are generated by QDEC at the LED output. The pulses are counted by QDEC operating in a REPORT mode, and the count is compared with the pulses that are generated by QENC.

Example waveform


The name of the example is qdec_pca10028. If you are not using the Keil Pack Installer, you can find the source code and project file of the example in the following folder: <InstallFolder>\examples\peripheral\qdec


  • QENC LED (pin 4) should be connected to QDEC LED (pin 3).
  • QENC A (pin 6) should be connected to QDEC A (pin 1).
  • QENC B (pin 5) should be connected to QDEC B (pin 2).


The example works in auto-test mode. If there is a difference between the number of pulses counted and generated, the application stops.