AnsweredAssumed Answered

SPI through DMA - POP order issue

Question asked by Daniel Weber on Jan 31, 2020
Latest reply on Feb 5, 2020 by Sabina Bruce

Hi all,


I'm currently implementing SPI through DMA on a K22.  I have everything working except for the reads.  I can see SOUT, SCK, CS, and SIN all working on my oscilloscope, but the DMA handler seems to be popping bytes out of the POP register in the wrong order.  Basically, I can send the slave [0x12, 0x34, 0x56] and see the same echo back on the bus, but what shows up in my read array is [0x00, 0x12, 0x34] while I can peak at the POP register and see 0x56 sitting in there, never getting popped out and into my read array.  I figure there must be some simple setting that's configured incorrectly, but I'm having some trouble wading through the config bits and finding which ones may have something to do with what I'm seeing.


In short, I expect the function to be "read > pop > read > pop > read > pop", but it seems to be going "pop > read > pop > read > pop > read" and just leaving that last read in the register.  Would anybody be able to shed some light on any config parameters relevant to this issue?