51单片机+NRF24L01发送接收问题! 15
主程序:voidmain(void){ucharzt,zy;init_NRF24L01();TxBuf[1]=0;Delay(6000);while(1){TxBuf[1...
主程序:
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;
}
}
}
接收不成功,哪位懂得看看是不是哪里有问题,谢谢 展开
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;
}
}
}
接收不成功,哪位懂得看看是不是哪里有问题,谢谢 展开
展开全部
检查一下波特率的设置。
主程序:
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;
}
}
主程序:
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;
}
}
追问
看了这些资料还没有发现有提到过波特率
波特率只在与PC通讯的时候需要设置
我现在是2401发 24L01接收! MCU与NRF24L01之间的通讯是SPI接口!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询