找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2805|回復: 9
打印 上一主題 下一主題
收起左側(cè)

兩個nRF24L01+51單片機無線通訊沒反應 求幫助

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:528782 發(fā)表于 2019-5-15 22:38 來自觸屏版 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我用兩個24l01在51單片機上進行無線通訊,就最簡單的按鍵調(diào)試,2401也接了3.3的穩(wěn)壓模塊,為什么沒反應…應該是自檢也沒過,蜂鳴器響應該是沒檢測到2401,那應該怎么辦
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:539593 發(fā)表于 2019-5-16 10:02 | 只看該作者
建議首先檢查硬件接線是否和程序設定的相同;
然后,可以在程序中加一些LED燈的程序,判斷程序到底走到了哪一步,死在了哪一步。
最后,建議親多用幾個模塊測試,避免其中有損壞的。
回復

使用道具 舉報

板凳
ID:528782 發(fā)表于 2019-5-16 14:01 | 只看該作者
3448208832 發(fā)表于 2019-5-16 10:02
建議首先檢查硬件接線是否和程序設定的相同;
然后,可以在程序中加一些LED燈的程序,判斷程序到底走到了 ...

檢測不到2401蜂鳴器就會響 為什么會 檢測不到呢
回復

使用道具 舉報

地板
ID:52944 發(fā)表于 2019-5-16 14:31 | 只看該作者
在程序中加上串口打印,先確定程序死到哪了
回復

使用道具 舉報

5#
ID:539886 發(fā)表于 2019-5-16 15:35 | 只看該作者
我有STM32 + 24l01的雙向快速通信的工程,自己摸索出來的,用在無人機數(shù)傳,需要的話私信我,我回去發(fā)你
回復

使用道具 舉報

6#
ID:528782 發(fā)表于 2019-5-16 16:05 | 只看該作者
liushangming 發(fā)表于 2019-5-16 14:31
在程序中加上串口打印,先確定程序死到哪了

發(fā)送

#include<reg52.h>
#include"NRF_24L01.h"

sbit led=P1^0;         
sbit key=P3^0;
uchar gled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};


void main(void)
{
        unsigned char t;
        unsigned char tmp_buf[33]={0};
        unsigned char buf[5]={0XA5,0XA5,0XA5,0XA5,0XA5};

        init_nrf24l01_io();           //初始化
        delay(20);
        SPI_Write_Buf(WRITE_REG+TX_ADDR,buf,5);           //數(shù)據(jù)存入寄存器
    SPI_Read_Buf(TX_ADDR,rx_buf,5);                             //數(shù)據(jù)讀出寄存器
       

        for(t=0;t<5;t++)if(rx_buf[t]!=0XA5)break;
       
        if(t==5)  {led=0;delay(20000);led=1;}           //驗證數(shù)據(jù),正常則led閃爍

        ifnnrf_tx_mode();                                                    //設為TX模式
        while(1)
        {       
                if(key==0)                                                      
                {       
                        led=0;
                        for(t=0;t<33;t++)
                        {
                        tmp_buf[t]=0;
                        }
                        tmp_buf[31]='a';                                  

                        NRF24L01_TxPacket(tmp_buf);                                   //發(fā)送數(shù)據(jù)
                        while(NRF24L01_TxPacket(tmp_buf)!=TX_OK);  //發(fā)送失敗則一直發(fā)送,直到對方接受成功為止
                       
                        tmp_buf[31]=0;               
                        led=1;
                }                            
        }
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
接收
/***********************
小板測試時如果沒有效果
就將2.4G拔下,在插上,按下復位,再次發(fā)送數(shù)據(jù)即可

如果發(fā)送數(shù)據(jù)時led閃爍,應該是發(fā)送數(shù)據(jù)的按鍵沒有去抖

***************************/
#include<reg52.h>
#include"NRF_24L01.h"

sbit led=P1^0;

void main(void)
{
unsigned char  tmp_buf[33];
        delay(200);                 
        init_nrf24l01_io();                //初始化
        delay(200);         
        led=1;
        ifnnrf_rx_mode();                //設置為RX模式
        while(1)
        {
                if(NRF24L01_RxPacket(tmp_buf)==RX_OK)//一旦接收到信息,則顯示出來.
                {       
                        if(tmp_buf[31]=='a') led=(!led);   //led取反
                }               
        }                                                                     
}

  就這么最簡單的程序 都會失敗
回復

使用道具 舉報

7#
ID:364224 發(fā)表于 2019-8-2 15:59 | 只看該作者
我也是在找這個程序,也是搞不出來
回復

使用道具 舉報

8#
ID:235200 發(fā)表于 2019-8-2 19:03 | 只看該作者
我早幾天調(diào)試出來了,很好用,http://www.torrancerestoration.com/bbs/dpj-167239-1.htm 需注意端口輸入方式
回復

使用道具 舉報

9#
ID:517466 發(fā)表于 2019-8-2 19:37 | 只看該作者
我建議樓主先不要用單片機。先用串口工具通過AT指令方式,調(diào)好波特率,對接協(xié)議之類的設置。在用這種方式調(diào)通以后,再換成單片機來控制,這樣相對就容易多了。換成單片機的時候,可以一邊繼續(xù)保持串口工具,一邊是用單片機,OK以后,再全都換成單片機的。我的就是這么調(diào)試過來的。
回復

使用道具 舉報

10#
ID:517466 發(fā)表于 2019-8-2 19:38 | 只看該作者
我這邊用的是AT89C2051,匯編語言模式。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表