Serial peripheral interface (SPI) RM0016
260/449 Doc ID 14587 Rev 8
● In unidirectional receive-only mode (BDM = 0 and RXONLY = 1)
– The sequence begins as soon as the bit SPE = 1
– Only the receiver is activated and the received data on MISO pin is shifted in
serially to the 8-bit shift register and then parallel loaded into the SPI_DR register
(Rx Buffer).
● In bidirectional mode, when transmitting (BDM = 1 and BDOE = 1)
– The sequence begins when a data is written into the SPI_DR register (Tx buffer).
– The data is then parallel loaded from the Tx buffer into the 8-bit shift register
during the first bit transmission and then shifted out serially to the MOSI pin.
– No data is received.
● In bidirectional mode, when receiving (BDM = 1 and BDOE = 0)
– The sequence begins as soon as SPE = 1 and BDOE = 0.
– The received data on MOSI pin is shifted in serially to the 8-bit shift register and
then parallel loaded into the SPI_DR register (Rx Buffer).
– The transmitter is not activated and no data is shifted out serially to the MOSI pin.
Start sequence in slave mode
● In full-duplex (BDM=0 and RXONLY=0)
– The sequence begins when the slave device receives the clock signal and the first
bit of the data on its MOSI pin. The remaining 7 bits are loaded into the shift
register.
– At the same time, the data is parallel loaded from the Tx buffer into the 8-bit shift
register during the first bit transmission and then shifted out serially to the MISO
pin. The software must have written the data to be sent before the SPI master
device initiates the transfer.
● In unidirectional receive-only mode (BDM = 0 and RXONLY = 1)
– The sequence begins when the slave device receives the clock signal and the first
bit of the data on its MOSI pin. The remaining 7 bits are loaded into the shift
register.
– The transmitter is not activated and no data is shifted out serially to the MISO pin.
● In bidirectional mode, when transmitting (BDM = 1 and BDOE = 1)
– The sequence begins when the slave device receives the clock signal and the first
bit of the Tx buffer is transmitted to the MISO pin.
– The data is then parallel loaded from the Tx buffer into the 8-bit shift register
during the first bit transmission and then shifted out serially to the MISO pin. The
software must have written the data to be sent before the SPI master device starts
the transfer.
– no data is received.
● In bidirectional mode, when receiving (BDM = 1 and BDOE = 0)
– The sequence starts when the slave device receives the clock signal and the first
bit of the data to its MISO pin.
– The data received on MISO pin is shifted in serially to the 8-bit shift register and
then parallel loaded into the SPI_DR register (Rx Buffer).
– The transmitter is not activated and no data is shifted out serially to the MISO pin.