Uint16 SPIA_WriteRead_8bit(Uint16 data) { while(SpiaRegs.SPIFFTX.bit.TXFFST >= 3) //这个地方为什么要>=3呢 { //如果发送FIFO里面还有3个或3个以上的数据待发送就等待 ; } SpiaRegs.SPITXBUF = (data << 8);//高位在前,低位在后
while(SpiaRegs.SPIFFRX.bit.RXFFST == 0) { //如果接收FIFO里面已经没有数据了就等待,直到接收到数据为止 ; } data = SpiaRegs.SPIRXBUF; return (data & 0x00FF); }
这个为什么既要发送又要接收呢。但是我看后面的程序时有专门有一个函数是接收的。有点不理解。刚学。希望大家指点下
|