天线|RF射频
直播中

杨诗琪

7年用户 199经验值
私信 关注
[问答]

关于nrf2401的问题如何解决

                SetRX_Mode();                           

                   if(nRF24L01_RxPacket(RxBuf))

                {LED1 = 0;

                        if(RxBuf[1] == 1)

                        {                 

                                       

                          Delay(1000);

                        }LED2 = 0;Delay(1000);

                        if(RxBuf[2] == 1)

                        {

                                

                                

                        }

                }               

这是

接受段的程序,为什么接收端不管安不安装nrf2401总是跳进if(nRF24L01_RxPacket(RxBuf)),



unsigned char nRF24L01_RxPacket(unsigned char* rx_buf)

{

    unsigned char revale=0;




        //SetRX_Mode();




        sta=SPI_Read(STATUS);        // read register STATUS's value

        if(RX_DR)                                // if receive data ready (RX_DR) interrupt

        {

            CE = 0;

                SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);// read receive payload from RX_FIFO buffer

                revale =1;//we have receive data

        }

        SPI_RW_Reg(WRITE_REG+STATUS,sta);// clear RX_DR or TX_DS or MAX_RT interrupt flag

        

        return revale;

}



回帖(4)

李玉梅

2020-5-27 13:59:38
你是说执行:

LED1 = 0;

                        if(RxBuf[1] == 1)

                        {                

                                       

                          Delay(1000);

                        }LED2 = 0;Delay(1000);

                        if(RxBuf[2] == 1)

                        {

                               

                               

                        }



这些代码?
举报

罗宗保

2020-5-27 14:10:53

对,是总是认为接受到了数据,但是数据是错的
举报

莫联雪

2020-5-27 14:26:06

TX端关闭,也还是能进入这个?
举报

李晟才

2020-5-27 14:35:24
哦哦,现在调试好了,程序没写好,谢谢原子哥
举报

更多回帖

发帖
×
20
完善资料,
赚取积分