2025-08-04 7:26 PM - last edited on 2025-08-05 1:44 AM by Andrew Neil
I am just getting started with the stm32h723 ADC. If I create a regular sequence group of several input channels, how does my ISR know which channel was sampled last (which channel's data is in the DR)? I don't see this in the registers.
Thanks,
Mark
2025-08-04 7:53 PM
Typically you'd DMA a group of channels into an array, and then get an interrupt for some multiple of them.
2025-08-04 8:28 PM
So I have to go down another rabbit hole to get my ADC data? Is there a code example for the ADC-DMA transfer?
2025-08-05 1:17 AM - edited 2025-08-05 8:34 AM
Hello @Niramas ,
You can get inspired from the "ADC DMA Transfer" example runs on STM32H743xx devices:
This example can be easily tailored to any other supported device and development board.
2025-08-05 6:36 AM
So are the examples for any STM32H7 variant applicable to the STM32H723? I was only looking in the 723 examples folder.
2025-08-05 8:50 AM
You can use the ADC example from STM32H735 device which is a pin-to-pin compatible with STM32H723:
But always consult the datasheets and reference manuals for detailed comparison.
2025-08-05 9:45 AM
Not sure it's a rabbit hole, just not an 8-bit programming / 1-dimensional approach.
The concept is to allow for decimation of interrupt loading, and allow for more rapid/consistent cycling of the ADC, ie uniform sample rate so time-domain based analysis is workable.
Now if you want to sample individual channels on ADC1, ADC2, ADCn, then you can do that.
2025-08-05 9:58 AM - edited 2025-08-05 9:58 AM
Everything is a rabbit hole on modern controllers. That's why the RM has 68 chapters.