SPI在發送一個字節的同時會接收一個字節,Reg為寄存器地址,status為接收到的返回狀態,這個返回狀態是返回的什么值呢?
//參考官方文檔
uint SPI_RW(uint byte)
{
uchar i;
for(i=0;i<8;i++) // output 8-bit
{
if(byte&0x80)
MOSI=1;
else
MOSI=0;
byte<<=1;
SCK=1;
if(MISO)
byte|=0x01;
SCK=0;
// ..then set SCK low again
}
return byte; // return read uchar
}
//參考官方文檔
uint SPI_W_Reg(uchar reg, uchar value)
{
uint status;
CSN = 0; // CSN low, init SPI transaction
status = SPI_RW(reg); // select register
SPI_RW(value); // ..and write value to it..
CSN = 1; // CSN high again
return(status); // return nRF24L01 status uchar
}
|