Showing results for 
Search instead for 
Did you mean: 

STM32H7 ADC1 and ADC3 errors

Associate III

I am programming stm32h750 microcontroller.

I managed to make work ADC2.

ADC1 and ADC3 gives wrong results sometimes when change priority at DMA interrupt

I have programmed the ADC3 using DMA2 (not BDMA that not generates interrupts to me)

Sometimes first samples obtained from ADC1&3 are wrong (about 0.49V) and sometimes all of them

All tests were performed in debug mode and the three ADCs are launched at the same time.

I programmed also external interrupt lines 0,1,2

I programmed 480Mhz at the micro and 80Mhz at the ADC clock as can be seen here:

STM32H7 clock 480Mhz.png


Also I programmed all ADCs in the same way. ADC prescaler was divided by 8 to have 10Mhz that is recommended for slow ADC channels, and the Rank1-N are set to 2.5 cycles to have 2.5+7.5=10cycles so have 1us/conversion as recommended:

ADC working.png


Associate III

The problem was the debugger: it is not posible to navigate from a DMA to other because DMA not stops in a breakpoint, so if there is a problem is better to make an only one breakpoint and test that DMA after an stop.
Now I have 2.35LSB error in 12bit adc3 at 1Mhz and 0.94LSbs in ADC1