STM32L476 SPI half duplex receive clock
I configured the SPI2 port for bidirectional (BIDIMODE = 1) and rx (BIDIOE = 0), then enabled the port (SPE = 1). According to the RM the enable should immediately start sending clock pulses out the SCK pin and read data on the MOSI pin, since it is half duplex. As long as the port is enabled data should be clocked in continually until the SPI port is disabled (SPE = 0). I expected the RXFIFO to fill with data. SPI port is in master mode (MSTR = 1)
What I actually see is the BSY bit set, TXE set, but no RXNE and no change the FRLVL= 0, empty. It appears no clock pulse are being sent. The Cube examples all show the same procedure, so I'm not clear on what's missing. I can transmit in half duplex but when I switch the line direction to RX (BIDIOE from 1 to 0) the output clock appears to stop.
This should be the equivalent of RXONLY = 1, except for using MOSI instead of MISO. Even if the peripheral is misconfigured something should be clocked in from the MOSI line into the RXFIFO.
Details from ST appear to be few and well hidden on how to use half duplex SPI. Has anyone gotten this mode to work without using the HAL?
Jack Peacock