Showing results for 
Search instead for 
Did you mean: 

How to restart Normal DMA? STM32L476

Senior III


I am collecting 480 samples of multiple channels of A/D1....I want to do this every 60 seconds. I am running in Normal mode because if I stay in Circular mode the A/D data continuously updates even without the trigger which is not what I want. It seems to work as expected. The only thing I saw in the DMA registers that changed after the normal event was over was the half, complete and error flags getting cleared. My questions:

  1. What do I have to do to re jump start the DMA for the next timer event that triggers the A/D 60 seconds later?
  2. In a simple scenario of 6 A/D channels getting sequenced and an End of Sequence Flag is set. Does the A/D converter have a FIFO within it to store these datum or just one data register in which case you MUST read the register prior to another data being written???? I asked this because it seems it would be mandatory to have End of Conversion flag when doing DMA transfer NOT End of Sequence flag......IDK or maybe using the DMA automatically just uses End of Conversion flag and disregard the setting in the A/D section.
  3. Finally has anyone used the autodly bit in the a/d cfgr? Figure 101 of the RM seems to suggest that you could use EOS flag and autodly = 1 and this would allow a user to have time to go into an A/D ISR during a single sequence scan and be able to capture each A/D datum without missing any or without DMA......