cancel
Showing results for 
Search instead for 
Did you mean: 

Configuring ADC with DMA in circular mode with end of conversion interrupts.

JHari.1
Associate II

I have setup ADC conversion to be triggered by Timer 3 and DMA is configured [in NORMAL Mode] to transfer data from ADC to a buffer. I am able to get this to work and I call HAL_ADC_START_DMA() from the HAL_ADC_Conv_cmplt_callback() to restart the DMA transfer.

When DMA is configured in CIRCULAR MODE, the Conv_cmplt callback is only called once and the buffer doesn't get updated either.

The idea is to kick of peridic DMA transfers and use half_cmplt and cmplt interrupts to use the buffer in a pingpong manner. Is there any other configurations to take care of to achieve this?

2 REPLIES 2
Diane POMABIA
ST Employee

Hi @JHari.1​ 

Can you precised the STM32 you are using ?

Regards

DianeP

JHari.1
Associate II

It is an STM32G474. The config screenshots are attached here. I am using the nucleo board NUCLE-G474RE


_legacyfs_online_stmicro_images_0693W00000bkeZ6QAI.png 


_legacyfs_online_stmicro_images_0693W00000bkeZQQAY.png 


_legacyfs_online_stmicro_images_0693W00000bkeaOQAQ.png
_legacyfs_online_stmicro_images_0693W00000bkeXtQAI.png