(3)SPI 发送和接收函数 Uint16 SPIA_SendReciveData(Uint16 dat) { // Transmit data SpiaRegs.SPITXBUF=dat; // Wait until data is received while(SpiaRegs.SPIFFRX.bit.RXFFST !=1); return SpiaRegs.SPIRXBUF; }
其中while(SpiaRegs.SPIFFRX.bit.RXFFST !=1);这一句不太明白,SPIFFRX寄存器的RXFFST是占据了5位的,00000代表FIFO接收是空的,00001代表接收了一位,10000才代表接收了16位,这里判断条件是与1相比,那不就是才接收到一位就返回结束了吗?
|