Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
I'm still a little confused. I made the assumption that the specified DMA_BufferSize would transmit, the interrupt would fire and the SPI transfer would complete momentarily afterwards. Do I need to explicitly DISABLE the SPI channel in the ISR? Also, in one of my tests, according to the documentation, I was doing something wrong by having both channels 2 (RX) and 3 (TX) of DMA1 active simultaneously. With the pins of the device tied together, it appeared to work in full duplex. Was this because of the latency of the SPI transfer allowing both RX and TX to be serviced by DMA?