OpenEdv-开源电子网

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

NRF24L01+模块的多机应答(6发1收)

  [复制链接]

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
发表于 2013-10-3 17:51:05 | 显示全部楼层 |阅读模式
<span style="font-family:Simsun;line-height:normal;background-color:#e8e8e8;"><span style="font-size:18px;color:#ffe500;background-color:#000000;">辛苦了两天,总算弄好了。1收6发,我想大家用过24L01+的人都应理解了,发射机比如地址0x01,0x23,0x23,0x23,0x23(原因是我液晶不会显示十六进制,0x23代表#我用数组【6】代替第5位为0x00正好结束显示)是以应答模式发射,543210这6个通道我都调通了。</span><br />
如果不用应答模式,很简单,发射机地址什么的和通道2,3,4,5分别对应就可以接收了</span>

NRF24L01_中文.pdf

890.66 KB, 下载次数: 6422

QQ750273008有好的资料记得发给我哦。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-10-3 17:53:03 | 显示全部楼层
<div>const u8 &nbsp;ip[6]={'0','F','U','C','K',0x00};//发射地址 &nbsp;那个0x00用于LCD函数结束显示</div>
<div>const u8 ip0[6]={'0','F','U','C','K',0x00};//接收地址0 我调了2天</div>
<div>const u8 ip1[6]={'1','F','U','C','K',0x00};//接收地址1 才发现低位在前,高位在后。</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//(低位优先,写的时候低位写到高位,读的时候低位先被读出)</div>
<div>const u8 ip2[6]={'2','F','U','C','K',0x00};//接收地址2 地址char5,char4,char3,char2,char1.</div>
<div>const u8 ip3[6]={'3','F','U','C','K',0x00};//接收地址3<span class="Apple-tab-span" style="white-space:pre;">        </span>通道2345只能设置char1</div>
<div>const u8 ip4[6]={'4','F','U','C','K',0x00};//接收地址4<span class="Apple-tab-span" style="white-space:pre;">        </span>写的时候顺序是char1,char2,char3,char4,char5</div>
<div>const u8 ip5[6]={'5','F','U','C','K',0x00};//接收地址5<span class="Apple-tab-span" style="white-space:pre;">        <br />
<br />
<div>void RX_Mode(void)//接收</div>
<div>{</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_CE=0; <span class="Apple-tab-span">        </span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //设置24L01+关闭,用于修改无线配置<span class="Apple-tab-span">        </span></div>
<div>&nbsp; &nbsp; NRF24L01_Write_Reg(0x20+0x00,0x0f);//配置接收模式的基本参数WR_UP,EN_CRC,16BIT_CRC,</div>
<div>&nbsp; &nbsp; NRF24L01_Write_Reg(0x20+0x01,0x3f);//应答设置0x3f代表543210应答</div>
<div>//<span class="Apple-tab-span">        </span>NRF24L01_Read_Buf(0x01,careg,1); &nbsp; //该函数检查无线寄存器0x01的内容</div>
<div>&nbsp; &nbsp; NRF24L01_Write_Reg(0x20+0x02,0x3f);//接收通道使能0x3f代表543210通道接收</div>
<div>&nbsp; <span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x05,50); &nbsp;//设置RF通信频率2.4G+设置值Mhz。范围0x00到0x7f</div>
<div>&nbsp; <span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x06,0x0f);//设置TX发射参数,0db增益,2Mbps,低噪声增益开启 &nbsp;</div>
<div>//<span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x06,0xa7);//24L01+模块设置TX发射参数,0db增益,250kbps,低噪声增益开启</div>
<div><br />
</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Buf(0X20+0X0a,(u8*)ip0,5);//写RX0接收地址</div>
<div>//<span class="Apple-tab-span">        </span>NRF24L01_Read_Buf(0x0a,caip0,5);<span class="Apple-tab-span">        </span> //查地址确定已写入</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Buf(0X20+0X0b,(u8*)ip1,5);//写RX1接收地址</div>
<div>//<span class="Apple-tab-span">        </span>NRF24L01_Read_Buf(0x0b,caip1,5);</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Buf(0X20+0X0c,(u8*)ip2,1);//写RX2接收地址(只写1次,原因高位都被锁了)</div>
<div>//<span class="Apple-tab-span">        </span>NRF24L01_Read_Buf(0x0c,caip2,5);</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Buf(0X20+0X0d,(u8*)ip3,1);//写RX3接收地址&nbsp;</div>
<div>//<span class="Apple-tab-span">        </span>NRF24L01_Read_Buf(0x0d,caip3,5);</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Buf(0X20+0X0e,(u8*)ip4,1);//写RX4接收地址</div>
<div>//<span class="Apple-tab-span">        </span>NRF24L01_Read_Buf(0x0e,caip4,5);</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Buf(0X20+0X0f,(u8*)ip5,1);//写RX5接收地址</div>
<div>//<span class="Apple-tab-span">        </span>NRF24L01_Read_Buf(0x0f,caip5,5);</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Buf(0X20+0X10,(u8*)ip1,5);//写TX的地址</div>
<div>//<span class="Apple-tab-span">        </span>NRF24L01_Read_Buf(0x10,caout,5);</div>
<div><br />
</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x11,32);//选择通道0的有效数据宽度32字节&nbsp;</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x12,32);//选择通道1的有效数据宽度32字节&nbsp;</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x13,32);//选择通道2的有效数据宽度32字节&nbsp;</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x14,32);//选择通道3的有效数据宽度32字节&nbsp;</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x15,32);//选择通道4的有效数据宽度32字节&nbsp;</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x16,32);//选择通道5的有效数据宽度32字节&nbsp;</div>
<div><br />
</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_CE = 1; //CE为高,进入接收模式</div>
<div><br />
</div>
<div><br />
</div>
<div>}<span class="Apple-tab-span">                                                </span>&nbsp;</div>
<div><br />
</div>
<div>//该函数初始化NRF24L01到TX模式</div>
<div>//设置TX地址,写TX数据宽度,设置RX自动应答的地址,填充TX发送数据,选择RF频道,波特率和LNA HCURR</div>
<div>//PWR_UP,CRC使能</div>
<div>//当CE变高后,即进入RX模式,并可以接收数据了<span class="Apple-tab-span">                </span> &nbsp;&nbsp;</div>
<div>//CE为高大于10us,则启动发送.<span class="Apple-tab-span">        </span>&nbsp;</div>
<div>void TX_Mode(void)//发射</div>
<div>{<span class="Apple-tab-span">                                                                                                                </span>&nbsp;</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_CE=0;//无线待机<span class="Apple-tab-span">        </span> &nbsp; &nbsp;</div>
<div>&nbsp; <span class="Apple-tab-span">        </span>NRF24L01_Write_Buf(0x20+0x10,(u8*)ip,5);//写TX节点地址&nbsp;</div>
<div>&nbsp; <span class="Apple-tab-span">        </span>NRF24L01_Write_Buf(0x20+0x0a,(u8*)ip0,5); //设置TX节点地址,主要为了使能ACK<span class="Apple-tab-span">        </span> &nbsp;</div>
<div><br />
</div>
<div>&nbsp; <span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x01,0x3f); &nbsp; &nbsp; //使能通道543210的自动应答 &nbsp; &nbsp;</div>
<div>&nbsp; <span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x02,0x3f); &nbsp; &nbsp; //使能通道543210的接收地址 &nbsp;</div>
<div><br />
</div>
<div>&nbsp; <span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x04,0xff);//设置自动重发间隔时间:4000us + 86us;最大自动重发次数:15次</div>
<div>&nbsp; <span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x05,50); &nbsp; &nbsp; &nbsp; //设置RF通道。最大为(111 1111)Mhz +2.4Ghz</div>
<div>&nbsp; <span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x06,0x0f); &nbsp;//设置TX发射参数,0db增益,2Mbps,低噪声增益开启 &nbsp;&nbsp;</div>
<div>//<span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x06,0xa7);//24L01+模块设置TX发射参数,0db增益,250kbps,低噪声增益开启</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_Write_Reg(0x20+0x00,0x0e); &nbsp; &nbsp;//配置基本工作模式的参数WR_UP,EN_CRC,16BIT_CRC,接收模式,开启所有中断</div>
<div><span class="Apple-tab-span">        </span>NRF24L01_CE=1;//CE为高,10us后启动发送</div>
<div>}<span class="Apple-tab-span">                </span> &nbsp;</div>
<div><br />
</div>
</span></div>
<br class="Apple-interchange-newline" />
QQ750273008有好的资料记得发给我哦。。。
回复 支持 1 反对 0

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-10-3 17:55:45 | 显示全部楼层
哈哈,都调成功了,012345通道都能接收了<center>

</center><br />
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-10-3 22:17:05 | 显示全部楼层
哪个家伙说2,3,4,5地址没锁的?我重新写了检查函数,除了0和1通道5个char可以读出,其他的通道都是读的第5个char,不管多少次。我地址写的是FUCKY读出的地址是5个Y
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2013-10-3 23:02:47 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-10-5 00:18:31 | 显示全部楼层
回复【5楼】正点原子:<br />
---------------------------------<br />
谢谢支持!这附件是我调试好的Mini板的程序,战舰板只稍微改了收发设置。战舰的我就不上传了,设置基本一样。

Mini板无线6接收应答程序.zip

891.06 KB, 下载次数: 5860

QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2013-10-8 15:20:00 | 显示全部楼层
cool
回复 支持 反对

使用道具 举报

5

主题

75

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
265
金钱
265
注册时间
2013-8-5
在线时间
0 小时
发表于 2013-10-8 15:25:24 | 显示全部楼层
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <center>

</center><br />
流动的水没有形状,快了的风找不到踪迹
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-10-8 17:23:35 | 显示全部楼层
回复【8楼】Creas_Tall:<br />
---------------------------------<br />
别用这张图误导人,我被这手册的图害惨了,01通道地址随便设置,2345通道的高39~8是和通道1的绑定,只能改7~0<br />
另外资料地址在:<br />
我空间<a href="http://http://user.qzone.qq.com/750273008/infocenter#!app=2&amp;via=QZ.HashRefresh&amp;pos=1368843397" target="_blank">http://www.openedv.com/posts/list/0/15693.htm?privmsg=1#109104</a> <br />
模块资料<a href="http://www.openedv.com/posts/list/0/15693.htm?privmsg=1#109104" target="_blank"><span style="font-family:Simsun;line-height:normal;background-color:#d1d9e2;">http://www.openedv.com/posts/list/0/15693.htm?privmsg=1#109104</span>&nbsp;</a><br />
<a href="http://www.openedv.com/posts/list/0/15438.htm?privmsg=1#117732" target="_blank">http://www.openedv.com/posts/list/0/15438.htm?privmsg=1#117732
                                         
                                                                            </a>
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

70

主题

231

帖子

0

精华

高级会员

Rank: 4

积分
975
金钱
975
注册时间
2013-8-14
在线时间
103 小时
发表于 2013-10-8 20:21:36 | 显示全部楼层
现在怎么这么多人用NRF24L01呀?
谢谢!
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-10-8 22:48:37 | 显示全部楼层
回复【10楼】今天天气不好:<br />
---------------------------------<br />
正在改行去学stm32w无线系列,期待原子哥的stm32w无线系列的开发板,这个stm32w和51差不多有P0,P1,P2这些io脚,模块自带无线zigbee功能是M3核,比那破CC2530牛逼多了,可以3700米传输。这个模块就是物联网。哈哈,大家学物联网就用这模块吧,用jtag仿真。那个cc2530是51的核(其实就是51单片机)它的仿真器你懂得,那叫一个坑爹,不稳定。价格还死贵cc debugger天猫都200到420元

CC2530中文数据手册完全版.pdf

8.99 MB, 下载次数: 7806

STM32W无线射频ZigBee单片机原理与应用.pdf

2.64 MB, 下载次数: 1704

QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

5

主题

107

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2013-5-5
在线时间
0 小时
发表于 2013-10-9 09:51:58 | 显示全部楼层
不知楼主有没有搞过不用地址码,使用随机发送,N个发送模块互不干扰,实现多发一收后,在继续往深研究实现多发多收,就建立了一个基本的无线自组网,不知楼主有没有兴趣?可以讨论交流一下!
游走在生活里,你我都是涉世未深的旅人,前方有我们为之心怡的归宿,身后又是一片葱郁的往昔,让生活的零碎随风而来,又似过往的随风云烟而散,唯有这厮,方能守得云开,待到春花烂漫!
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-10-9 12:48:12 | 显示全部楼层
回复【12楼】冰尘牧之:
<br>---------------------------------
<br>你画个结构框图给我看下。。。24L01发射机范围理论可以(40个1乘以0x3f)的值。
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

70

主题

231

帖子

0

精华

高级会员

Rank: 4

积分
975
金钱
975
注册时间
2013-8-14
在线时间
103 小时
发表于 2013-10-11 08:02:37 | 显示全部楼层
回复【11楼】750273008:
<br>---------------------------------
<br>原来是这样呀,又学到了一些知识。谢谢啦!
谢谢!
回复 支持 反对

使用道具 举报

71

主题

467

帖子

0

精华

高级会员

Rank: 4

积分
800
金钱
800
注册时间
2011-11-18
在线时间
5 小时
发表于 2013-10-11 23:26:50 | 显示全部楼层
呃,这么伟大的发现为啥不表扬一下本尊捏^_^,CC2530只是那个栈太不接地气了(对于硬件工程师来说)。因为成本,朕己将她打入西宫了。
我的工作就是天天在玩
回复 支持 反对

使用道具 举报

71

主题

467

帖子

0

精华

高级会员

Rank: 4

积分
800
金钱
800
注册时间
2011-11-18
在线时间
5 小时
发表于 2013-10-11 23:30:56 | 显示全部楼层
我觉得玩这个先读读通讯方面的教材才能写出很棒的多机通信,也可参考CC2530,那就是搞通讯的人弄的,简直就是教科书。
我的工作就是天天在玩
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2013-10-11
在线时间
0 小时
发表于 2013-10-13 15:23:51 | 显示全部楼层
你这样是实现了一收六发的功能,其实我想问,这样六个发送端同时发,岂不是会冲突而且杂乱无序么?我现在基本上算是一个初学者,还请大神带~~
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-10-13 16:07:02 | 显示全部楼层
回复【17楼】每天都学一点点:
<br>---------------------------------
<br>一收六发是:一个接收机对6个发射机(我题目写的是6发1收。6个发射机用1个接收机接收数据的程序)
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

15

主题

204

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
287
金钱
287
注册时间
2013-7-17
在线时间
0 小时
发表于 2013-10-14 21:27:48 | 显示全部楼层
MARK
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-11-11 19:11:40 | 显示全部楼层
回复【15楼】chinafox:
<br>
<br>                                                                        呃,这么伟大的发现为啥不表扬一下本尊捏^_^,CC2530只是那个栈太不接地气了(对于硬件工程师来说)。因为成本,朕己将她打入西宫了。
<br>                                                       
<br>---------------------------------
<br>你说的好像很牛逼的样子,怎么也没看见你写的教程?我转去nrf51822蓝牙4.0模块了
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

108

主题

1440

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2233
金钱
2233
注册时间
2012-4-30
在线时间
7 小时
发表于 2013-11-12 08:53:06 | 显示全部楼层
多发一收,做一个防碰撞算法就得了,适用各种RFID,只是吞吐量的问题。
回复 支持 反对

使用道具 举报

4

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2013-12-15
在线时间
0 小时
发表于 2013-12-15 21:05:14 | 显示全部楼层
楼主好牛,顶一个
回复 支持 反对

使用道具 举报

14

主题

80

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
339
金钱
339
注册时间
2013-1-1
在线时间
6 小时
发表于 2013-12-16 09:21:09 | 显示全部楼层
回复【9楼】750273008:
<br>---------------------------------
<br>图上就是说着其他通道只能改bit7~0啊....没误导啊.....
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2013-12-16 09:51:53 | 显示全部楼层
回复【23楼】疯狂者:
<br>回复【9楼】750273008:
<br>---------------------------------
<br>图上就是说着其他通道只能改bit7~0啊....没误导啊.....
<br>---------------------------------
<br>你调下nrf24L01和nrf51822之间的通讯你就知道地址到底该怎么配置了。51822的资料在蓝牙论坛里找
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2014-3-24
在线时间
0 小时
发表于 2014-3-24 17:18:19 | 显示全部楼层
回复【9楼】750273008:
<br>---------------------------------
<br>楼主,通道0和1地址可以随便设置,那设置成相同的可以吗?我在做一个一对二的无线通信(一发二收)的,不是很清楚这一块,望楼主指点一二。我做了一个一对一的,已经成功了,想在这个基础上修改成一对二的,在地址设置这块我需要注意哪些问题,还望楼主多多指点。
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2014-3-27 09:50:20 | 显示全部楼层
回复【25楼】九五凤凰:
<br>
<br>                                                                        回复【9楼】750273008:
<br>---------------------------------
<br>楼主,通道0和1地址可以随便设置,那设置成相同的可以吗?我在做一个一对二的无线通信(一发二收)的,不是很清楚这一块,望楼主指点一二。我做了一个一对一的,已经成功了,想在这个基础上修改成一对二的,在地址设置这块我需要注意哪些问题,还望楼主多多指点。
<br>                                                       
<br>---------------------------------
<br>一发二收,如果需要应答模式的话。2个接收机不需要改,发射机的0通道需要在2个通道地址之间切换。(你要知道,同一时刻只能1对1)。如果不需要应答模式,这就简单多了。可以无数个接收机,缺点是信号不好会丢数据。
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2014-4-6
在线时间
0 小时
发表于 2014-4-6 20:12:19 | 显示全部楼层
一对6的话是要用到6个C52单片机么
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2014-4-6
在线时间
0 小时
发表于 2014-4-6 20:13:33 | 显示全部楼层
回复【楼主位】750273008:
<br>---------------------------------
<br>我想做个1对6的投***器,那么发射端的投***器是要用6分stc89c52单片机么
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-4-25
在线时间
0 小时
发表于 2014-4-25 21:38:52 | 显示全部楼层
您好,我现在也在做这个24l01,我现在一发一收,收的是通道1接收,无自动应答模式可以正常接收,但是开了自动应答就只能在刚上电的时候接收一次了,查看寄存器发现只有第一次status的数据时0x42是对的,之后就都变成0x0e,也就是接收不到数据了,请问您知道是怎么回事吗
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2014-4-30 14:26:21 | 显示全部楼层
回复【29楼】sloe_gin:
<br>您好,我现在也在做这个24l01,我现在一发一收,收的是通道1接收,无自动应答模式可以正常接收,但是开了自动应答就只能在刚上电的时候接收一次了,查看寄存器发现只有第一次status的数据时0x42是对的,之后就都变成0x0e,也就是接收不到数据了,请问您知道是怎么回事吗
<br>---------------------------------
<br>简单,[无自动应答模式可以正常接收]问题出在接收机。2个都是应答模式的话,接收机需要不断去取数据,接收机只读1次数据,后就不去读数据,发射机就停在上次的内容循环发射。除非接到接收机发来的应答信号,发射机才会发下一个数据
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1632
金钱
1632
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2014-4-30 14:33:31 | 显示全部楼层
回复【28楼】Alwaysbegin:
<br>回复【楼主位】750273008:
<br>---------------------------------
<br>我想做个1对6的投***器,那么发射端的投***器是要用6分stc89c52单片机么
<br>---------------------------------
<br>我不太理解你的意思,我想说的是,nRF24L01模块,只有地址0可以发射数据,并且012345只能接收数据。而且2345的高字节bit39~8和地址1共用。通讯的结构是6个发射机发数据给1个接收机收数据
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2014-1-26
在线时间
14 小时
发表于 2014-8-7 15:44:56 | 显示全部楼层
楼主分析的很透彻,不知道楼主有没有研究过最多可以接收多少个发射
回复 支持 反对

使用道具 举报

9

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2014-3-20
在线时间
9 小时
发表于 2014-8-8 09:36:53 | 显示全部楼层
昨天调了一下午的通道2,总是不通,今天看了楼主的帖子恍然大悟,关于最低位的设置,谢谢楼主了。
回复 支持 反对

使用道具 举报

0

主题

11

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2014-7-27
在线时间
0 小时
发表于 2014-8-8 14:16:54 | 显示全部楼层
想了解一下&nbsp;&nbsp;www.uicmall.com
回复 支持 反对

使用道具 举报

42

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
383
金钱
383
注册时间
2014-6-12
在线时间
35 小时
发表于 2014-10-19 10:41:26 | 显示全部楼层

看这两个的话,其实手册也不完全算错,从中确实可以看到数据通道1和2,3,4,5的前32位一样,不过第二个图给的还确实容易让人往错处想&nbsp;
回复 支持 反对

使用道具 举报

32

主题

153

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2014-11-5
在线时间
0 小时
发表于 2014-12-21 03:09:02 | 显示全部楼层
楼主厉害,请问下怎么传图片呢?一张图片150K,怎么发送接收呢?
酱油团队--
回复 支持 反对

使用道具 举报

5

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2013-9-16
在线时间
0 小时
发表于 2014-12-25 10:05:24 | 显示全部楼层
您好,你用过无线吗,最新推荐WLK01L39无线应用首选-隔墙效果极佳
<br>样品75折体验:http://item.taobao.com/item.htm?id=36264057764
<br>选购3个WLK01L39以上即可免费获取测试板:http://item.taobao.com/item.htm?id=40102876157批量更优惠
<br>WLK01L39开发包资料百度网盘下载连接:http://pan.baidu.com/s/1Go9YI
<br>无线数据传输方面的有空看看,欢迎交流
<br>
<br>基本工作原理:
<br>模块平时处于接收状态,一旦收到数据,就把收到的数据通过UART输出,这时你可以用单片机来个中断接收函数啊,把数据读取存储,
<br>发送数据的时候把要发的数据通过UART送给模块,他就自动发送,发送完毕,自动切换到接收模式
<br>
<br>====================================================================
<br>例如跳频多点通讯,
<br>====================================================================
<br>例如
<br>当主机为WLK01L39模块,且主机节点A频率值为470MHZ(470000转换为16进制为:0x07&nbsp;0x2B&nbsp;0xF0),
<br>&nbsp;
<br>从机B频率参数:471MHZ(0x07&nbsp;0x2f&nbsp;0xD8)&nbsp;,从机C频率参数:472MHZ(0x07&nbsp;0x33&nbsp;0xC0)
<br>主机可以通过切换频率参数来分别和B&nbsp;C节点通讯,方法如下
<br>&nbsp;
<br>第一步-&gt;&nbsp;设置电平SETA=1&nbsp;SETB=1&nbsp;进入参数设置模式
<br>第二步-&gt;&nbsp;0xFF&nbsp;0x56&nbsp;0xAE&nbsp;0x35&nbsp;0xA9&nbsp;0x55&nbsp;0x9F&nbsp;0x00&nbsp;0x03&nbsp;0x07&nbsp;0x2f&nbsp;0xD8
<br>第三步-&gt;&nbsp;等待返回0x24&nbsp;0x24&nbsp;0x24&nbsp;0x07&nbsp;0x2f&nbsp;0xD8&nbsp;后再设置电平SETA=0&nbsp;SETB=0&nbsp;进入正常收发模式
<br>第四步-&gt;&nbsp;输入要传的数据即可将数据传输给B节点
<br>&nbsp;
<br>&nbsp;
<br>第五步-&gt;&nbsp;设置电平SETA=1&nbsp;SETB=1&nbsp;进入参数设置模式
<br>第六步-&gt;&nbsp;0xFF&nbsp;0x56&nbsp;0xAE&nbsp;0x35&nbsp;0xA9&nbsp;0x55&nbsp;0x9F&nbsp;0x00&nbsp;0x03&nbsp;0x07&nbsp;0x33&nbsp;0xC0
<br>第七步-&gt;&nbsp;等待返回0x24&nbsp;0x24&nbsp;0x24&nbsp;0x07&nbsp;0x33&nbsp;0xC0后再设置电平SETA=0&nbsp;SETB=0&nbsp;进入正常收发模式
<br>第八步-&gt;&nbsp;输入要传的数据即可将数据传输给C节点
<br>&nbsp;
<br>更多节点以此类推即可
<br>&nbsp;
<br>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<br>例如变址多点通讯,
<br>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<br>&nbsp;
<br>例如
<br>当主机为WLK01L39模块,
<br>主机A本机地址1:0x01,本机地址2:0x01,
<br>从机B本机地址1:0x02&nbsp;,本机地址2:0x01&nbsp;,
<br>从机C本机地址1:0x03,本机地址2:0x01&nbsp;,&nbsp;&nbsp;
<br>主机可以通过切换目标地址参数来分别和B&nbsp;C节点通讯,因为在频率一样的前提下
<br>只有主机的目标地址和从机的本机地址一致时,对应从机才能与其建立通讯,并接收数据方法如下
<br>&nbsp;
<br>第一步-&gt;&nbsp;设置电平SETA=1&nbsp;SETB=1&nbsp;进入参数设置模式
<br>第二步-&gt;&nbsp;0xFF&nbsp;0x56&nbsp;0xAE&nbsp;0x35&nbsp;0xA9&nbsp;0x55&nbsp;0x8E&nbsp;0x00&nbsp;0x01&nbsp;0x02&nbsp;
<br>第三步-&gt;&nbsp;等待返回0x24&nbsp;0x24&nbsp;0x24&nbsp;&nbsp;0x02&nbsp;后再&nbsp;设置电平SETA=0&nbsp;SETB=0&nbsp;进入正常收发模式
<br>第四步-&gt;&nbsp;输入要传的数据即可将数据传输给B节点
<br>&nbsp;
<br>&nbsp;
<br>第五步-&gt;&nbsp;设置电平SETA=1&nbsp;SETB=1&nbsp;进入参数设置模式
<br>第六步-&gt;&nbsp;0xFF&nbsp;0x56&nbsp;0xAE&nbsp;0x35&nbsp;0xA9&nbsp;0x55&nbsp;0x8E&nbsp;0x00&nbsp;0x01&nbsp;0x03
<br>第七步-&gt;&nbsp;等待返回0x24&nbsp;0x24&nbsp;0x24&nbsp;&nbsp;0x03&nbsp;后再设置电平SETA=0&nbsp;SETB=0&nbsp;进入正常收发模式
<br>第八步-&gt;&nbsp;输入要传的数据即可将数据传输给C节点
<br>&nbsp;
<br>更多节点以此类推即可
<br>&nbsp;
<br>###################################################################
<br>多点通讯还有一种最简单的方式,就是点名通讯
<br>###################################################################
<br>1.主机和从机的参数都完全一样
<br>2.都处于正常收发模式
<br>3.当主机A发0x01(该指令可自定义),
<br>&nbsp;&nbsp;当从机B和从机C都收到0x01,
<br>&nbsp;&nbsp;从机B视0x01为上传数据命令,立刻发射要上传数据,然后主机A会收到B上传数据,而从机C视0x01为无效指令,不发送数据
<br>&nbsp;&nbsp;当主机A发0x02(该指令可自定义),
<br>&nbsp;&nbsp;当从机B和从机C都收到0x01,
<br>&nbsp;&nbsp;从机C视0x02为上传数据指令,立刻发射要上传数据,然后主机A会收到C上传数据,而从机B视0x02为无效指令,不发送数据
<br>更多节点以此类推即可
<br>------------------
<br>NRF905&nbsp;RF903&nbsp;CC1100&nbsp;CC2500&nbsp;CC1020&nbsp;NRF2401&nbsp;NRF24L01&nbsp;无线数传芯片/模块性能汇总及应用指南
<br>你好,我们是无线制造供应商,欢迎交流
<br>QQ:35625400&nbsp;&nbsp;&nbsp;&nbsp;MSN:ll88mm88@hotmail.com&nbsp;
<br>HONE:13704018223&nbsp;&nbsp;&nbsp;陈工
RFinchina 团队欢迎无线方面的技术交流 QQ 474882985
回复 支持 反对

使用道具 举报

5

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2013-9-16
在线时间
0 小时
发表于 2014-12-25 10:15:32 | 显示全部楼层
用24L01传图片太困难了
RFinchina 团队欢迎无线方面的技术交流 QQ 474882985
回复 支持 反对

使用道具 举报

32

主题

153

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2014-11-5
在线时间
0 小时
发表于 2014-12-30 02:46:02 | 显示全部楼层
回复【6楼】750273008:
<br>---------------------------------
<br>楼主,战舰版的上传一份呀。感谢,,
酱油团队--
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2015-1-14
在线时间
0 小时
发表于 2015-1-14 20:28:31 | 显示全部楼层
感谢楼主分享!请问一下lz,在换做别的通道做发射机的时候,为什么程序里               
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(KEY2==1)//做通道1的发射机
<br>                        &nbsp;&nbsp;&nbsp;{
<br>                        &nbsp;&nbsp;&nbsp;        NRF24L01_CE=0;
<br>                        &nbsp;&nbsp;&nbsp;&nbsp;NRF24L01_Write_Buf(0x20+0x10,(u8*)ip1,5);//写TX节点地址
<br>                                NRF24L01_Write_Buf(0X20+0X0A,(u8*)ip1,5);//写RX1接收地址
<br>                                NRF24L01_CE=1;
<br>                        &nbsp;&nbsp;&nbsp;}
<br>使用的通道地址还是通道0的?也就是为什么还是0X0A?而不是0X0B?还是说楼主实际上全是在用通道0做发射机??
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2015-1-12
在线时间
0 小时
发表于 2015-1-15 16:36:18 | 显示全部楼层
#define TX_ADDR &nbsp; &nbsp; &nbsp; &nbsp; 0x10 &nbsp;//发送地址(低字节在前),ShockBurstTM模式下,RX_ADDR_P0与此地址相等<br />
请问这句话是什么意思呢?不是说发送的地址要与接收的地址相同吗?<br />
<div style="font-family:Simsun;background-color:#E8E8E8;">
        const u8 &nbsp;ip[6]={'0','F','U','C','K',0x00};//发射地址 &nbsp;那个0x00用于LCD函数结束显示
</div>
<div style="font-family:Simsun;background-color:#E8E8E8;">
        const u8 ip0[6]={'0','F','U','C','K',0x00};//接收地址0 我调了2天
</div>
<div style="font-family:Simsun;background-color:#E8E8E8;">
        const u8 ip1[6]={'1','F','U','C','K',0x00};//接收地址1 才发现低位在前,高位在后。
</div>
<br />
楼主这样发射地址和接收地址不就不一样了吗
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2015-1-12
在线时间
0 小时
发表于 2015-1-20 12:18:35 | 显示全部楼层
回复【2楼】750273008:
<br>---------------------------------
<br>请问作为发射端,是否必须使能其他通达的自动应答和接收地址?
<br>NRF24L01_Write_Reg(0x20+0x01,0x3f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//使能通道543210的自动应答&nbsp;&nbsp;&nbsp;&nbsp;
<br>NRF24L01_Write_Reg(0x20+0x02,0x3f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//使能通道543210的接收地址
回复 支持 反对

使用道具 举报

6

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2014-4-25
在线时间
16 小时
发表于 2015-1-30 17:01:52 | 显示全部楼层
<p>
        MAKE
</p>
学习会使你永远立于不败之地。
回复 支持 反对

使用道具 举报

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
发表于 2015-4-29 09:01:33 | 显示全部楼层
回复【26楼】750273008:
<br>---------------------------------
<br>不需要应答模式,寄存器怎么配啊,我现在就要这种形式,一发多收,,可是我怎么配,都不能配到无应答方式,或者就直接不工作了。。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2015-5-19
在线时间
0 小时
发表于 2015-5-19 20:40:02 | 显示全部楼层
你的代码好像有问题。我每次调试要用其他通道,结果总是跳到通道二上面去。可以解释一下吗?
回复 支持 反对

使用道具 举报

7

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2015-1-3
在线时间
26 小时
发表于 2015-6-7 10:17:10 | 显示全部楼层
学习了,都是大神啊
总有人是要赢的,那为什么不是我呢?
博客: http://mindthink.me
回复 支持 反对

使用道具 举报

0

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2013-8-7
在线时间
43 小时
发表于 2015-6-11 21:28:47 | 显示全部楼层
最近要用。学习
回复 支持 反对

使用道具 举报

11

主题

52

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2015-7-6
在线时间
5 小时
发表于 2015-7-9 21:08:08 | 显示全部楼层
感谢分享!!
回复 支持 反对

使用道具 举报

5

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-7-14
在线时间
0 小时
发表于 2015-7-29 16:26:51 | 显示全部楼层
请问用F1怎么调试?只是设置六个地址就可以了吗?有没有例程分享一下?太感谢了~
回复 支持 反对

使用道具 举报

7

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2015-6-21
在线时间
2 小时
发表于 2015-8-2 14:42:17 | 显示全部楼层
感谢分享12054
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-5-29 15:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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