I have trouble getting ADC DMA working in cubeIDE 1.9. It was working in version 1.7
There are many guides available online that explain how to set up DMA with ADC. I followed such a guide in version 1.7 and it worked out of the box. Now I'm trying the same thing in version 1.9 and it won't work.
The first thing I noticed that the ADC Clock Prescaler setting seems to be no longer a thing.
The last time I set it up, I just chose continuous conversion with a prescaler and everything worked. Even without an timer. These were my settings back then:
Note here that it is the same MCU on the same board in the same project. I only updated the cubeIDE.
I now tried it with a timer (which is preferred anyway) but this still doesn't work. The timer works as can be seen on the oscilloscope here:
The yellow line is the timer, the blue line should have a peak triggered in the convCplt interrupt. DMA is set up with a circular buffer.
Here is the setup:
- https://github.com/TimGoll/masterthesis-lcr_driver/blob/main/Core/Code/Threads/AnalogIn.c#L10-L15
- https://github.com/TimGoll/masterthesis-lcr_driver/blob/main/Core/Code/Logic/AnaRP.c#L3-L8
- https://github.com/TimGoll/masterthesis-lcr_driver/blob/main/Core/Src/main.c#L101
I'd really appreciate any input on this because at this point I'm not sure if I'm doing something wrong, or if there is a bug in the cubeIDE.
MCU: STM32H743ZI on a nucleo board.