Ⅰ 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总线上还要记得加上拉电阻.