
初始化配置
stcSpiInit.enFrameNumber = SpiFrameNumber3;
define
#define SpiFrameNUM_3
读写数据
while (u8RxIndex < SPI_TX_RX_bufferlen )
{
while (Reset == SPI_GetFlag(SPI_UNIT, SpiFlagSendBufferEmpty))
{
}
SPI_SendData32(SPI_UNIT, (uint32_t)SPI1_TxBuffer_default[u8RxIndex]);
#ifdef SpiFrameNUM_2
SPI_SendData32(SPI_UNIT, (uint32_t)SPI1_TxBuffer_default[u8RxIndex+1]);
#endif
#ifdef SpiFrameNUM_3
SPI_SendData32(SPI_UNIT, (uint32_t)SPI1_TxBuffer_default[u8RxIndex+1]);
SPI_SendData32(SPI_UNIT, (uint32_t)SPI1_TxBuffer_default[u8RxIndex+2]);
#endif
#ifdef SpiFrameNUM_4
SPI_SendData32(SPI_UNIT, (uint32_t)SPI1_TxBuffer_default[u8RxIndex+1]);
SPI_SendData32(SPI_UNIT, (uint32_t)SPI1_TxBuffer_default[u8RxIndex+2]);
SPI_SendData32(SPI_UNIT, (uint32_t)SPI1_TxBuffer_default[u8RxIndex+3]);
#endif
while (Reset == SPI_GetFlag(SPI_UNIT, SpiFlagReceiveBufferFull))
{
}
SPI1_RxBuffer[u8RxIndex] = (int32_t)(SPI_ReceiveData32(SPI_UNIT));
#ifdef SpiFrameNUM_2
SPI1_RxBuffer[u8RxIndex+1] = (int32_t)(SPI_ReceiveData32(SPI_UNIT));
#endif
#ifdef SpiFrameNUM_3
SPI1_RxBuffer[u8RxIndex+1] = (int32_t)(SPI_ReceiveData32(SPI_UNIT));
SPI1_RxBuffer[u8RxIndex+2] = (int32_t)(SPI_ReceiveData32(SPI_UNIT));
#endif
#ifdef SpiFrameNUM_4
SPI1_RxBuffer[u8RxIndex+1] = (int32_t)(SPI_ReceiveData32(SPI_UNIT));
SPI1_RxBuffer[u8RxIndex+2] = (int32_t)(SPI_ReceiveData32(SPI_UNIT));
SPI1_RxBuffer[u8RxIndex+3] = (int32_t)(SPI_ReceiveData32(SPI_UNIT));
#endif
u8RxIndex++;
#ifdef SpiFrameNUM_2
u8RxIndex=u8RxIndex+1;
#endif
#ifdef SpiFrameNUM_3
u8RxIndex=u8RxIndex+2;
#endif
#ifdef SpiFrameNUM_4
u8RxIndex=u8RxIndex+3;
#endif
}