SPI bugs in F446/429?
Surely this issue has been beaten to death already?
SPI3:
Are there any known 'end of byte/word transmit' function (soft/hardware)working on SPI3 in master mode? Actually in 'any' mode, im just doing
simple plain periodic (plenty of dead time in between transmits, not
constant that would hold BSY low) transmit with no interference (i hope)
of NSS/SSI crap, only GPIO pin as strobe for external shift register.
I cant detect any SPI BSY being set during transmission as it should be!
Is there any specific setup flow and init of SPI logic needed?
SPI3->DR = ledbuff; //Write SPI transmit reg
while((SPI3->SR & SPI_SR_TXE) == 0) //Test until TXE flag is 1{}while((SPI3->SR & SPI_SR_BSY) == 1) //Test until Busy flag is 0{}
According to errata for rev A of F446 and rev11 for F429 there are complexbugs in SPI module and equal complex suggestions for workarounds thatapparently dont work ,BSY mentioned.Is there a workaround that one could use RXNE (MISO-MOSI loopback)
or something else as a detector?
Contemplating use USART instead since it works out of the box by detecting
TC flag unfortunately USART's in synchronous mode is much slower then SPI.