微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 跪求大神解啊,NRF24L01 接收问题

跪求大神解啊,NRF24L01 接收问题

时间:10-02 整理:3721RD 点击:
用了好几天时间把发送调好,可是接收怎么也调不好,求指导啊  
NRF24L01肯定是好的
发送部分的mcu是15L204EA     每次发送后STATUS=0X2E   FIFO_STATUS=0X11; 寄存器配置是 EN_AA =0X00;
EN_RXADDR=0X01; SETUP_RETR=0X00;自动无限循环重发

接收部分是89c52  贴程序啊

void main(void)
{
unsigned char tf =0;
    init_io();
init_lcd();
LED1 = 0;
LED2 = 0;
Delay(6000);
LED1 = 1;
  LED2 = 1;
while(1)
{
  KEY2=1;
  KEY1=1;
     while(KEY2==0||KEY1 ==0)
  {
   IRQ=1;
   SPI_RW_Reg(WRITE_REG+STATUS,0xff);
      if(KEY1 ==0)   
     {           
       TxBuf[0] = 0xAA ;   
      }
   else
      if(KEY2 ==0 )
      {
    TxBuf[0] = 0x55 ;
     }
   nRF24L01_TxPacket(TxBuf);
   mark_tx();
   tf = 1;
  }                                              //以上是发送部分  正常  
  if(tf)
  {
         tf=0;
         SetRX_Mode();              //接收模式
         IRQ=1;
         while(IRQ==0);
         inerDelay_us(400);
     }
  IRQ=1;
  if(IRQ==0)                       //现在就是卡在这里了  IRQ永远不等于0,
  {
   LED2=0;
      sta=SPI_Read(STATUS);    //读取状态寄存器
   display();                                 //1602用16进制显示状态寄存器
   SPI_RW_Reg(WRITE_REG+STATUS,0xff);   //清楚状态寄存器
   if(sta&0x40)                                //判断状态寄存器是不是的RX_DR是不是置1
   {
    SPI_Read_Buf(RD_RX_PLOAD,RxBuf,TX_PLOAD_WIDTH);     //数据读到RxBuf
    if( RxBuf[0]==0xAA)
    {   
      LED2=0;
      Delay(6000);
      LED2=1;
    }
    else
    if( RxBuf[0]==0x55)
    {
      LED2=0;
      Delay(6000);
      LED2=1;
    }
    RxBuf[0]=0;
   }
   else        //如果Rx_DR没有置1  则清除所有状态和FLUSH
   {
    CLR_ALL();
    SetRX_Mode();
    IRQ=1;
    while(IRQ==0);
   }
   
  
}
display();
      
}

}     

求大神解答,,

接收寄存器是 EN_AA =0X00;
EN_RXADDR=0X01;
PCB打样找华强 http://www.hqpcb.com 样板2天出货

现在就是卡在这里了  IRQ永远不等于0    这句上一行IRQ=1;干什么的,不卡那就不正常了

这个IRQ是检测有没有收到信息,如果收到会置0
我修改掉这个也收不到信息

问题解决了,是因为mcu 速度差太多了时序不对

请问时序问题怎么解决的?

请问小编,设定发射端寄存器EN_AA =0X00; EN_RXADDR=0X01; SETUP_RETR=0X00,但是每次发送完读取寄存器STATUS读到的不是0x2E而是0x1F是什么情况...小编能指教一下吗?用的MCU是C8051f41

我也想知道为什么。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top