Ⅰ 51單片機+NRF24L01發送接收問題!
檢查一下波特率的設置。
主程序:
void main(void)
{
uchar zt,zy;
init_NRF24L01() ;
TxBuf[1] = 0 ;
Delay(6000);
while(1)
{
TxBuf[1]="a";
nRF24L01_TxPacket(TxBuf);
TxBuf[1]=0;
Delay(6000);
Delay(6000);
zt=0;
zt=SPI_Read(STATUS);
if(zt==0x2e)
{
LED=1;
Delay(6000);
Delay(6000);
}
Delay(6000);
SPI_RW_Reg(WRITE_REG+STATUS,0XFF);
Delay(6000);
zy=0;
zy=SPI_Read(FIFO_STATUS);
if(zy==0x11)
{
LED=0;
Delay(6000);
Delay(6000);
}
Delay(6000);
Delay(6000);
}
}
主程序能發送成功
——————————————————————————————————
接收程序:
void main(void)
{
unsigned char RxBuf[20]={0}; //
init_NRF24L01() ;
//SetRX_Mode();
while(1)
{
SetRX_Mode();
if(nRF24L01_RxPacket(RxBuf)) // Transmit Tx buffer data
{
if( RxBuf[1]=="a")
{
LED=1;
}
RxBuf[1]==0x00;
}
}
Ⅱ NRF24L01 51單片機軟體模擬SPI 的 電源問題
NRF24L01可以用LD1117-3.3V供電,SPI介面和51單片之間用一個470R的電阻串聯就可以了,另外SPI匯流排上還要記得加上拉電阻.