AnsweredAssumed Answered

GPIO - DMA Peripheral-to-Memory

Question asked by Flatscher.Matthias on Feb 20, 2017
Latest reply on Oct 2, 2017 by Code Wrangler



I'm trying to realize a communication between an external ADC with a parallel interface and a STM32F429 via DMA. Therefore the clock-out signal, provided by the ADC (which indicades the new data is ready, at a falling edge) is connected to pin PA9. The alternate function one of PA9 is TIM1_CH2, which i want to use to trigger the DMA by input capture.


I enabled Timer 1 and DMA2. I'm using DMA2 stream 2 channel 6. It seems "everything" is set up correct, by having a look on the registers with the debugger.


When I try to capture a certain amount of samples, which is equal to the number of data items to be transferred in register DMA_S2NDTR, this value is just decremented by one. Even I implement a wait "while NDT is larger than zero" this does not halt the processor, by means of just decreasing NDT by one and don't stuck in the while loop.


Unfortunately I'm using ChibiOS, so I'm not able to post appropriate code. For those who are familiar with ChibiOS, I already posted my problem here


Maybe someone can give me a hint how to set up the DMA and Timer correct to get the communication working.