cancel
Showing results for 
Search instead for 
Did you mean: 

HAL ADC + DMA increment memory

Posted on October 20, 2015 at 12:07

Hello there,

Looking at the example ADC_RegularConversion_DMA I am trying to obtain this functionality:

Using DMA conversion is started in circle (never stoping) each time the conversion is finished it should put the value to an address of a vector. The vector is for example 8x32bit in size. After 8 conversions there should be an interrupt fired and the address should be reset.

Is it possible? I would apreciate all help.
1 REPLY 1
krzysztofrybak6
Associate II
Posted on October 22, 2015 at 21:45

Hi, 

at least for STM32F407 on Discovery board it's possible.

Just configure DMA to service 8 data, 32-bit each.

In normal mode, configure DMA interrupt when transfer is complete, clear interrupt flagand enable DMA again.

In circular mode, only  clear interrupt flag.

Don't forget to configure DMA to insert data to increasing addresses.

Do You need implementation details, which processor You use?