The typical usage is to use polling for a single channel and use DMA for multiple channels. Using DMA will avoid an overrun condition and avoid needing to service the interrupt within a small time period. With DMA and multiple channels, you know the channel based on their index within the array.
This MCU has a small FIFO for the ADC, so you have a little buffer room, but not much, before an overrun happens.
But yes, you will need to keep track of the channel in software. When the EOC flag happens, there is no accompanying data on the channel that triggered it.
"If you feel a post has answered your question, please click ""Accept as Solution""."