STM32数据手册的SPI部分说“The communication is always initiated by the master. When the master device transmits data to a slave device via the MOSI pin, the slave device responds via the MISO pin. ”应该是说全双工通信是由主设备发起的,但是,提供的例程将SPI1作为Master,SPI2作为Slave后,必须是由SPI2先发送;
/* Wait for SPI1 Tx buffer empty */
while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
/* Send SPI2 data */
SPI_I2S_SendData(SPI2, SPI2_Buffer_Tx[TxIdx]);
/* Send SPI1 data */
SPI_I2S_SendData(SPI1, SPI1_Buffer_Tx[TxIdx++]);
否则,不能完成通信(SPI1可以发送,spi2不能发送)。这个与手册讲的是否相同? |