The STM32F1's reference manual describes "regular" and "injected" ADC channels but is not clear on the difference. What is the difference between the two types and when might you use one or the other?


You can configure the ADC to read in a sequence of channels in a loop. Those channels are being converted regularly. In injected mode conversion is triggered by an external event or by software. An injected conversion has higher priority in comparison to a "regular" conversion and thus interrupts the regular conversions.

The different ADC-Modes are explained in application note AN3116.


The injected mode is a mode where the ADC conversion can be "injected" during the conversion of regular channels due to some trigger (timer or something else). This is useful, for example in motor control application , to delay conversion until after some event is complete (such as transistor switching) so that the conversion noise is reduced.

  • \$\begingroup\$ @ChrisStratton: The ones controlling the motors. \$\endgroup\$ – Gustavo Litovsky Sep 25 '13 at 20:07
  • \$\begingroup\$ Ah, okay, now you've edited to clarify that you are talking about what are effectively random conversion requests from software, vs. more regularly scheduled conversions. \$\endgroup\$ – Chris Stratton Sep 25 '13 at 20:12
  • \$\begingroup\$ @ChrisStratton - Yes. My original answer was written rather quickly and I realized it wasn't clear. \$\endgroup\$ – Gustavo Litovsky Sep 25 '13 at 20:19
  • 1
    \$\begingroup\$ Is this a direct quotation from the reference manual? \$\endgroup\$ – joeforker Oct 1 '13 at 13:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.