Hello,
I need to trigger DMA channel y when channel x is exhausted.
I use the example project lpcxpresso54628_dma_channel_chain for a test and UM10912 Rev 2.4
The function should be:
Ch X start the transfer with a software trigger (later adc) and transfer a uint32_t (4Byte) value. After three triggers (12Byte) Ch x is exhausted, sets a trigger (for Ch y) and reload the ch x descriptor.
Ch y transfer uint32_t (4Byte) after two trigger from Ch x the Ch y is also exhausted and reload the ch y descriptor.
I not able implement this function.
My example project never triggers ch y when ch x is exhausted.
Or when I comment in Line 90 INPUTMUX->DMA_OTRIG_INMUX[0] = 0; //ch0 is always triggers ch y when I trigger ch x.
I don’t get it what do I have to set let it word properly.
How do I have to set the DMA?
Hello @Alice_Yang
I made a project with less changes and committed the changes.
CH0 is configurated as BurstSize1(before kDMA_SingleTransfer).
Line 163 Trigger CH0. It should not start/trigger other channels. When it Triggered once.
I found a post here. Like I understand, matt83 wanted to use the DMA in the same way as I do. I guess the DAM works on both MCUs in the same way. What was the solution for his Problem?
https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-DMA-done-trigger-event/td-p/1785082
Hello @A_M
Your project is based on the SDK demo, I will test it on my setup. Could you also share the key modifications you’ve made to the original code? This will help me pinpoint issues more efficiently. Thank you!
BR
Alice
Hello @A_M
Has the SDK demo lpcxpresso54628_dma_channel_chain been functioning as expected in your environment?
BR
Alice