Hello all, good news! It seems the SPI byte shifting problem has been solved. The SPI DMA HAL in Slave Mode has been working for one day flawlessly. No byte shifting at all. What did I do?I've created the whole project from the scratch by using Cu...
SPI works with DMA without a single byte shifting. Just needed to create the whole project in an orderly fashion. Set the clock first, make all free pins as analog, then save. After configure peripherals, enable DMA on SPI, turn on ISR for DMA and of...
If you want to check for every single received byte, I'd rather suggest using LL drivers, enable RXNE interrupt and process it within the ISR. If you want to use DMA, i always suggest the creation of a protocol stack with chunked transfers. This ap...
I struggled with this problem for some time and after analyzing the implied functions, I discovered that it is a problem in the ISR provided by HAL. It doesn't matter if you use IT/DMA calls, after a while the SPI stream stars to shift whole bytes. I...
Since UART should work in full-duplex mode (theoretically) , I've built my own interrupt handler to try to explode this feature by reading the RDR=>DR registers and then writing to DR=>TDR registers. If you take a look at the ISR function to handle U...