cancel
Showing results for 
Search instead for 
Did you mean: 

ADC_DMAHalfConvCplt called when the buffer is completely full

Evgeny Erlihman
Associate III
Posted on November 02, 2017 at 16:13

Hello,

I am running the ADC_DMA_Transfer example on NUCLEO-H743ZI without any changes. And i see the ADC_DMAHalfConvCplt getting called when the aADCxConvertedData buffer is completely full and not half full as expected.

Am i missing something? Shouldn't 

ADC_DMAHalfConvCplt  be called after ADC_CONVERTED_DATA_BUFFER_SIZE/2 conversions instead of after ADC_CONVERTED_DATA_BUFFER_SIZE?

I do see ADC_DMAConvCplt being called every time after ADC_DMAHalfConvCplt, but it seems like after a call to either of these functions all the content in buffer is replaced.

Thanks,

Evgeny

#dma-adc #dma #adc #stm32h743
1 REPLY 1
Evgeny Erlihman
Associate III
Posted on November 03, 2017 at 19:19

I did a couple of experiments, looks like i was 'fooled' by the IDE. If , during half conversion complete event, i copy the whole buffer to a different location, i can see that indeed a bit more than half buffer was filled. Same goes for conversion complete event. So it looks like there is a big delay from the point that DMA raises the interrupt until the IDE shows me the buffer, the DMA is able to fill the remaining half......