STM32 gotchas
150.Incorrect ADC readout in some families, due to the "wrong result after 1ms delay" erratum

For some STM32 Errata (seen in 'L4, 'L5 and 'G4), the following applies for ADC:

Wrong ADC result if conversion done late after calibration or previous conversion
The result of an ADC conversion done more than 1 ms later than the previous ADC conversion or ADC calibration might be incorrect.

This may result in surprisingly incorrect ADC readouts to the unaware. The suggested workaround is, if there's more than 1ms delay, to perform a dummy conversion and discard its result.


In this thread on STM32 forum, ST employee SimonV sheds more light on the minutiae of the underlying problem. The main takeaways are, that