我用SPI1作从设备,SPI2作主设备,两个SPI互相传送数组。
while(Tx_Idx < BufferSize)
{
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) != SET); /*等待发送缓冲空*/
while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) != SET); /*等待发送缓冲空*/
SPI_I2S_SendData(SPI2, SPI2_Buffer_Tx[Tx_Idx]); /*SPI2发送数据*/
SPI_I2S_SendData(SPI1, SPI1_Buffer_Tx[Tx_Idx++]); /*SPI1发送数据*/
/*读出SPI2的数据*/
while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) != SET);
SPI2_Buffer_Rx[Rx_Idx] = SPI_I2S_ReceiveData(SPI2);
/*读出SPI1的数据*/
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) != SET);
SPI1_Buffer_Rx[Rx_Idx++] = SPI_I2S_ReceiveData(SPI1);
}
程序卡在了红色的那个语句上面,为什么?
|