人现在正在做KL26Z的SPI的DMA传输,其中KL26Z是作为SPI的从机,现在通过DMA能接收到数据,也能发送数据,但是从机发送数据时主机接收到的前几个字节总是0,然后才能接收到从机发送的数据,麻烦对这块熟悉的大神指点一下
void SPI_As_Slave_DMA_Write_Byte(INT8U ucdata)
{
INT8U ucTemplow = 0;
while((SPI0_S & SPI_S_SPTEF_MASK) != SPI_S_SPTEF_MASK);
*((INT8U *) (Tx_DESTINATION_ADDRESS)) = ucdata; /* 发送空数据读取内容 */
while((SPI0_S & SPI_S_SPRF_MASK) != SPI_S_SPRF_MASK); /* 发送前要先判断寄存器 */
ucTemplow = Get_Byte_SPI_DMA(count);
ucTemplow = ucTemplow;
}
|