標(biāo)題: NRF2401的程序問題 [打印本頁]

作者: 菜用雞    時間: 2019-4-20 09:13
標(biāo)題: NRF2401的程序問題
這個是收發(fā)一體的程序,完整的程序在附件里面附件
void main(void)
{

        uint while_times = 0;
        led6 =0;
        led5 =0; //        led0 = 0;
        lcd_delay(1000);
        init_NRF24L01();
        lcd_delay(100);
        
        while(1)
        {        
                //===== 發(fā)送模式 =====         
        //                if(KEY_0 == 0)//
        //                {
        //                        TxBuf[1] = 1;
        //                        TxBuf[2] = 1;
                  nrf_TxMod();          //對相關(guān)寄存器配置成發(fā)送模式
                  if(KEY_0 == 0)   { TxBuf[1] = 0;led2 = 0; }
                  if(KEY_1 == 0)   { TxBuf[1] = 1; led2 = 1;}
                 // else                        { TxBuf[1] = 1; }

                  if(KEY_2 == 0)    {TxBuf[2] = 0;led0=0;}
                  if(KEY_3 == 0)    {TxBuf[2] = 1;led0=1;}
                //else                     TxBuf[2] = 1;
                //把1存入TxBuf[1]中,然后發(fā)送出去;接收程序判斷RxBuf[1]的值,等于1的話點亮LED
                //把1存入TxBuf[2]中,然后發(fā)送出去;接收程序判斷RxBuf[2]的值,等于1的話點亮LED                                         
                                                        
                        nrf_trans(TxBuf);                //將待發(fā)送的數(shù)據(jù)寫入NRF24L01
                        
                        while_times = 80;                //檢測是否發(fā)送成功 循環(huán)檢測?次  【可更改,讓接收循環(huán)次數(shù)大于發(fā)送循環(huán)次數(shù)效果較好】
                        while(while_times--  )  //發(fā)送超時,或者發(fā)送成功,跳出循環(huán) 進入接收模式
                        {
                                get_nrf_sta();                //獲取狀態(tài)標(biāo)志
                                if(TX_DS == 1)                //發(fā)送成功,跳出循環(huán)
                                        {break;}
                        }
        //                }



//                //===== 接收模式 =====
//                nrf_RxMod();           //對相關(guān)寄存器配置成接受模式
//                while_times = 160;                //檢測是否接收成功 循環(huán)檢測?次 【可更改,讓接收循環(huán)次數(shù)大于發(fā)送循環(huán)次數(shù)效果較好】
//                while(while_times--)         //接收超時或者接收成功,跳出循環(huán) 進入發(fā)送模式
//                {
//                        get_nrf_sta();                        //獲取狀態(tài)標(biāo)志
//                        if(RX_DR == 1)                        //接收成功
//                        {        
//                                nrf_read(RxBuf);        //接收成功后,將NRF24L01接收到的數(shù)據(jù)讀到單片機的RxBuf數(shù)組中。
//                                led0=1;
//                                break;                                                //跳出循環(huán)
//                        }else led0=0;
//                }
//                if(KEY_0 == 0)                led7= 0;
//                if(KEY_1 == 0)                led7= 1;
//                if(RX_DR == 1)                //是因為接收到數(shù)據(jù),而不是因為超時才跳出循環(huán)
//                {        
//                        
//                        if(RxBuf[1] == 0)        led2 = 1;        
//                                else                         led2 = 0;
//
//                        if(RxBuf[2] == 0)        led3 = 1;        
//                                else                         led3 = 0;
//                }


        }
}
感覺是接受那部分的,問題。引腳它還是標(biāo)錯的,后來換過新模塊來調(diào)試了。有沒有大神幫看一下。



NRF資料.rar

58.62 KB, 下載次數(shù): 11


作者: 菜用雞    時間: 2019-4-25 14:56
后來解決了





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1