OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5462|回复: 10

单片机控制NRF24L01发送,STM32控制接收。。。

[复制链接]

5

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2012-11-30
在线时间
1 小时
发表于 2014-7-10 10:30:18 | 显示全部楼层 |阅读模式
5金钱
我用单片机做发送程序,检测到了发送完成标志位,但是在原子哥的MINISTM32板子上也没有接收到数据。。。<br />
<br />
<br />
<br />
主函数while(1)里面的程序段:
<div   style="background-color:#E8E8E8;">
[mw_shl_code=c,true]                NRFSetTxMode(TxDate); //·???
                while(CheckACK());        //?ì????·?·????ê±?





[/mw_shl_code]
</div>
<div   style="background-color:#E8E8E8;">
[mw_shl_code=c,true]//发送程序:[/mw_shl_code]
[mw_shl_code=c,true]/*****************NRF?è????·?????????·???????******************************/
void NRFSetTxMode(uchar *TxDate)
{//·???????
    CE=0;
           NRFWriteTxDate(W_REGISTER+TX_ADDR,TxAddr,TX_ADDR_WITDH);//???????÷????+???????·????????+???????·+???·?í??
        NRFWriteTxDate(W_REGISTER+RX_ADDR_P0,TxAddr,TX_ADDR_WITDH);//?????????????è±????????¨??0???·??·??????·?à??
        NRFWriteTxDate(W_TX_PAYLOAD,TxDate,TX_DATA_WITDH);//????????
        /******?????????????÷????**************/
          NRFWriteReg(W_REGISTER+EN_AA,0x00);       // ?????????¨??0×???????
          NRFWriteReg(W_REGISTER+EN_RXADDR,0x01);   // ?????????¨??0
          NRFWriteReg(W_REGISTER+SETUP_RETR,0x0a);  // ×?????·????±????250us+86us??×?????·?10??
          NRFWriteReg(W_REGISTER+RF_CH,0x40);         // ?????????¨??0x40
          NRFWriteReg(W_REGISTER+RF_SETUP,0x07);    // ??????????1Mbps??·???????0dBm???????ù·??ó?÷????
        NRFWriteReg(W_REGISTER+CONFIG,0x0e);      // CRC??????16??CRC???é??????  
        CE=1;
        Delay(5);//±???10us??????
}[/mw_shl_code]
</div>
应答信号检测程序:<br />
<div   style="background-color:#E8E8E8;">
[mw_shl_code=c,true]/****************************?ì??????????******************************/
uchar CheckACK()
{  //????·???
        sta=NRFReadReg(STATUS);                    // ·???×????????÷
        SendChar(sta);
        SendString("\r\n");   //接收到STATUS 寄存器的数据为2E...
       
       
        if(TX_DS || MAX_RT) //·????ê±?????
        {
           NRFWriteReg(W_REGISTER+STATUS,0xff);  // ????TX_DS?òMAX_RT????±ê??
           CSN=0;
           NRFSPI(FLUSH_TX);//????????FIFO ???????ü?????????á???????????????ó?????????ó????×?????  
       CSN=1;
           return(0);
        }
        else
           return(1);
}
/******************??????·???????????????????????RX????*********************/
//????????????
uchar NRFRevDate(uchar *RevDate)
{
            uchar RevFlags=0;
         sta=NRFReadReg(R_REGISTER+STATUS);//·????????ó????×????????÷
     if(RX_DR)                                // ??????·???????????
         {
            CE=0;                         //SPI????
                NRFReadRxDate(R_RX_PAYLOAD,RevDate,RX_DATA_WITDH);// ??RXFIFO????????
                RevFlags=1;           //?????????ê??±ê??
          }
         NRFWriteReg(W_REGISTER+STATUS,0xff); //???????????óRX_DR,TX_DS,MAX_PT????????1???¨????1??????????±ê
         return(RevFlags);
}[/mw_shl_code]
</div>
<br />

最佳答案

查看完整内容[请看2#楼]

回复【9楼】两个嘴巴笑110: --------------------------------- 论坛搜索下吧,51发,STM32收,论坛有好多人问过,也做出来了的。你参考下他们的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2014-7-10 10:30:19 | 显示全部楼层
回复【9楼】两个嘴巴笑110:
<br>---------------------------------
<br>论坛搜索下吧,51发,STM32收,论坛有好多人问过,也做出来了的。你参考下他们的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2012-11-30
在线时间
1 小时
 楼主| 发表于 2014-7-10 10:31:13 | 显示全部楼层
应该怎么测试更好呢?
回复

使用道具 举报

5

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2012-11-30
在线时间
1 小时
 楼主| 发表于 2014-7-10 10:31:26 | 显示全部楼层
求大神支招、、、、
回复

使用道具 举报

5

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2012-11-30
在线时间
1 小时
 楼主| 发表于 2014-7-10 11:01:58 | 显示全部楼层
<a href="@正点原子">@正点原子</a>
回复

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2014-7-10 11:32:02 | 显示全部楼层
应该没那么难吧。。。原子的mini的板子应该很好用的
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复

使用道具 举报

5

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2012-11-30
在线时间
1 小时
 楼主| 发表于 2014-7-10 13:53:50 | 显示全部楼层
回复【5楼】ST-FAE-SALE:
<br>---------------------------------
<br>对啊。但是我自己用单片机写的发送程序。我检测发送完成标志位,都是正常的,但是mini板上就是收不到数据。
<br>还有那些原因呢?
回复

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2014-7-10 18:03:25 | 显示全部楼层
回复【6楼】两个嘴巴笑110:
<br>---------------------------------
<br>距离太远了?
站在巨人的肩膀上不断的前进。。。
回复

使用道具 举报

5

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2012-11-30
在线时间
1 小时
 楼主| 发表于 2014-7-10 19:15:43 | 显示全部楼层
回复【7楼】xiaoyan:
<br>---------------------------------
<br>没有。相隔不到1米
回复

使用道具 举报

5

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2012-11-30
在线时间
1 小时
 楼主| 发表于 2014-7-10 19:16:31 | 显示全部楼层
回复【7楼】xiaoyan:
<br>---------------------------------
<br>你看我的代码了不?应该理论上找不出什么问题吧
回复

使用道具 举报

5

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2014-8-29
在线时间
11 小时
发表于 2015-8-17 11:37:20 | 显示全部楼层
为什么这么多乱码。。。
有深圳的大牛带我飞吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-9-29 23:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表