Showing results for 
Search instead for 
Did you mean: 

Can't get DMA sync and Mux Generator to make the right number of requests

Associate II

I am working with Cube, over HAL library, implementing a DMA mem-to-peripheral interface in double buffer mode.


I have two inputs: EXTI0 as a trigger, and LPTIM2 as a clock.

DMA is configured to output a byte through GPIO D0 through D7

I need to initiate an 18 bytes transfer (out to peripheral) each time EXTI0 is triggered (rising edge), each byte needs to be with the rising edge of LPTIM2.

Setting Sync with EXTI0 as a synchronization signal, with "Request Number" 18 (which yields NBREQ = 17), and "DMA Request Generator Signal" LPTIM2 OUT yields a single word output (instead of 18) every EXTI0 trigger,

I tried setting Request Number to 18 (NDTR=17) in the DMA Request Generator settings but there is no change.

I also tried reversing the EXTI0 to be the source of the request generator and LPTIM2 the synchronization signal - but I am still getting the same result