2024-04-04 03:03 AM - edited 2024-04-04 03:08 AM
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:
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:
2024-04-05 07:23 AM - edited 2024-04-05 08:32 AM
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