This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Processing DMA messages while they are being sent.

I am trying to make a CAN buffer that I can periodically (at a controlled rate) scan through moving messages around. I am doing this with DMA to create virtual mailboxes. The DMA works, but in order to scan through, I need to know where DMA most recently written to or something to get the address of the most recent valid and complete frame. It seems there is a register for telling the current destination address of a DMA channel, but it only is updated if the DMA is preempted. Is there a good way for me to find the most recent fully written frame?