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.