看了DS的
// 读出bytes字节的数据
uint8 SPI_Read_Buf(uint8 reg, uint8 *pbuf, uint8 bytes)
{
uint8 status,byte_ctr;
IO0CLR=CSN; // Set CSN low, init SPI tranaction
SPI_RW(reg); // Select registerto writeto and read status byte
for(byte_ctr=0;byte_ctr<bytes;byte_ctr++)
{
S0SPDR = 0x00; //不知道该写什么~~~~~~
while ( 0==(S0SPSR & 0x80) );
*pbuf = S0SPDR;
pbuf++;
}
//pBuf[byte_ctr] =SPI_RW(0); //
IO0SET=CSN ;
//return(status); // return nRF24L01 status byte
}
想必大侠们都看出来了,这是个21L01的程序
但是我用芯片自带的SPI接口读不出寄存器
手册给出的例程是这么说的
在主SPI模式下,发送和接受都是这么写
S0SPDR = data; //在读模式下不知道该写什么~~~~~~
while ( 0==(S0SPSR & 0x80) );
return(SOSPDR); //*pbuf = S0SPDR;
希望路过的大侠给与指点,多谢 |