38.5.5 Conversion Results

When a conversion is completed, the resulting digital value is stored in the Channel Data register (ADC_CDRx) of the current channel and in the Last Converted Data register (ADC_LCDR). By setting ADC_EMR.TAG, ADC_LCDR presents the channel number associated with the last converted data in NO_OSR_CHNB/CHNBOSR.

When a conversion is completed, EOCx in the End of Conversion Interrupt Status register (ADC_EOC_ISR) and the bit DRDY in the Interrupt Status register (ADC_ISR) are set. In the case of a connected DMA channel, DRDY rising triggers a data request. In any case, either EOC or DRDY can trigger an interrupt.

Reading one of the ADC_CDRx clears the corresponding EOC. Reading ADC_LCDR clears DRDY.

Figure 38-4. EOCx and DRDY Flag Behavior

If ADC_CDRx is not read before further incoming data is converted, the corresponding OVREx flag is set in the Overrun Status register (ADC_OVER).

If new data is converted when DRDY is high, ADC_ISR.GOVRE is set.

The OVREx flag is automatically cleared when ADC_OVER is read, and the GOVRE flag is automatically cleared when ADC_ISR is read.

Figure 38-5. EOCx, OVREx and GOVRE Flag Behavior
Warning: If the corresponding channel is disabled during a conversion or if it is disabled and then re-enabled during a conversion, its associated data and corresponding ADC_EOC_ISR.EOCx, ADC_ISR.GOVRE and ADC_OVER.OVREx flags are unpredictable.