OpenEdv-开源电子网

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

nRF24L01+完结帖子。

[复制链接]

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1633
金钱
1633
注册时间
2012-8-28
在线时间
71 小时
发表于 2014-5-5 17:55:32 | 显示全部楼层 |阅读模式
<p>
        用正点原子的MINI板。<br />
这程序是中文的。可用于调试nrf24l01+和nrf51822之间的通讯<br />
///////////////////////////////////////////////////////////////////////<br />
&nbsp;另外要注意<span style="color:#FFE500;background-color:#000000;">应答模式下</span>:在地址和数据之间有<span style="color:#FFE500;background-color:#000000;">9个bit</span>的标志位(payload 6bit+pid 2bit+no_ack 1bit)<br />
payload<span style="color:#00D5FF;background-color:#003399;"> <span style="color:#E53333;background-color:#000000;">6bit</span> <span style="background-color:#FFFFFF;"> </span><span><span style="background-color:#FFFFFF;"> </span><span style="background-color:#000000;"> </span></span><span style="background-color:#000000;"> 表示字节数量</span><br />
<span style="color:#FFFFFF;background-color:#FFFFFF;"> <span style="color:#000000;"> pid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; <span style="color:#E53333;background-color:#000000;">2bit</span> <span style="color:#00D5FF;background-color:#000000;">表示数据重发的号码,每次自增1</span></span></span><br />
<span style="color:#000000;background-color:#FFFFFF;">no_ack&nbsp; <span style="color:#E53333;background-color:#000000;">1bit</span> <span style="color:#00D5FF;background-color:#000000;">表示0为要应答,1为不要应答(发射机写0xB0寄存器用)</span></span><br />
<span style="color:#00D5FF;background-color:#000000;"><span style="color:#000000;background-color:#FFFFFF;">///////////////////////////////////////////////////////////////////////<br />
//nrf24和nrf51822的地址关系如下<br />
// 2401[add0 :add7] =PREFIX0[bit7:bit0](add7,add6,add5,add4,add3,add2,add1,add0)<br />
// 2401[add8 :add15]=BASE0[bit31:bit24](add15,add14,add13,add12,add11,add10,add9,add8)<br />
// 2401[add16:add23]=BASE0[bit23:bit16](add23,add22,add21,add20,add19,add18,add17,add16)<br />
// 2401[add24:add31]=BASE0[bit15:bit8] (add31,add30,add29,add28,add27,add26,add25,add24)<br />
// 2401[add32:add39]=BASE0[bit7 :bit0] (add39,add38,add37,add36,add35,add34,add33,add32)<br />
////////////////////////////////////////////////////////////////////////////</span></span><br />
</span><br />
//启动NRF24L01发送一次数据<br />
//txbuf:待发送数据首地址<br />
//返回值:发送完成状况<br />
u8 NRF24L01_TxPacket(u8 *txbuf)//发射数据包<br />
{<br />
&nbsp;u8 sta;<br />
&nbsp;&nbsp;SPIx_SetSpeed(SPI_SPEED_8);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //spi速度为9Mhz(24L01的最大SPI时钟为10Mhz)&nbsp;&nbsp; <br />
&nbsp;NRF24L01_CE=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //无线关闭<br />
&nbsp; NRF24L01_Write_Buf(0xA0,txbuf,32);//写发射缓存包TX BUF&nbsp; 32个字节<br />
&nbsp;&nbsp;NRF24L01_CE=1;//启动发送&nbsp;&nbsp;&nbsp; <br />
&nbsp;while(NRF24L01_IRQ!=0);//等待发送完成<br />
&nbsp;sta=NRF24L01_Read_Reg(0x07);&nbsp; //读取状态寄存器的值&nbsp;&nbsp;&nbsp; <br />
&nbsp;NRF24L01_Write_Reg(0x20+0x07,sta); //清除TX_DS或MAX_RT中断标志<br />
&nbsp;<br />
&nbsp;if(sta&amp;0x10)//bit4重发失败<br />
&nbsp;{<br />
&nbsp;&nbsp;NRF24L01_Write_Reg(0xE1,0xff);//清除TX FIFO寄存器 <br />
&nbsp;&nbsp;return 0; //重发失败<br />
&nbsp;}<br />
&nbsp;if(sta&amp;0x20)//bit5发送完成<br />
&nbsp;{<br />
&nbsp;&nbsp;return 1;//成功<br />
&nbsp;}<br />
&nbsp;return 0x00;//其他原因发送失败<br />
}<br />
<br />
&nbsp;//启动NRF24L01发送一次数据<br />
//txbuf:待发送数据首地址<br />
//返回值:0,接收完成;其他,错误代码<br />
u8 NRF24L01_RxPacket(u8 *rxbuf)//接收数据包<br />
{<br />
&nbsp;u8 sta;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;SPIx_SetSpeed(SPI_SPEED_8); //spi速度为9Mhz(24L01的最大SPI时钟为10Mhz)&nbsp;&nbsp; <br />
&nbsp;sta=NRF24L01_Read_Reg(0x07);&nbsp; //读取状态寄存器的值&nbsp;&nbsp;&nbsp; 0000 1110(0x0E为没有数据)<br />
&nbsp;NRF24L01_Write_Reg(0x20+0x07,sta); //清除TX_DS或MAX_RT中断标志<br />
&nbsp;look[0]=sta;<br />
&nbsp;if(sta&amp;0x40)//bit6接收完成<br />
&nbsp;{<br />
&nbsp;&nbsp;NRF24L01_Read_Buf(0x61,rxbuf,32);//读取数据字节长度<br />
&nbsp;&nbsp;NRF24L01_Write_Reg(0xe2,0xff);//清除RX FIFO寄存器 <br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;return 1; //接收完成<br />
&nbsp;}&nbsp;&nbsp;&nbsp; <br />
&nbsp;return 0;//接收失败<br />
}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</p>
<p>
        //该函数初始化NRF24L01到TX模式<br />
//设置TX地址,写TX数据宽度,设置RX自动应答的地址,填充TX发送数据,选择RF频道,波特率和LNA HCURR<br />
//PWR_UP,CRC使能<br />
//当CE变高后,即进入RX模式,并可以接收数据了&nbsp;&nbsp;&nbsp;&nbsp; <br />
//CE为高大于10us,则启动发送.&nbsp; <br />
void TX_Mode(u8 MHz,u8 Longer,u8 ACK)//发射模式(频率,传输字节,应答11 1111)<br />
{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp; NRF24L01_CE=0;//无线待机<br />
////写地址<br />
&nbsp; &nbsp;NRF24L01_Write_Buf(0x20+0x10,(u8*)ADD0,5);//写TX发射地址只有地址0有发射功能 <br />
&nbsp; &nbsp;NRF24L01_Write_Buf(0x20+0x0a,(u8*)ADD0,5); //地址0,主要为了接收ACK(应答信号)&nbsp;<br />
////工作模式<br />
&nbsp;&nbsp;&nbsp; NRF24L01_Write_Reg(0x20+0x00,0x0E);&nbsp;&nbsp;&nbsp; //发射模式WR_UP,EN_CRC,16BIT_CRC,<br />
&nbsp; &nbsp;NRF24L01_Write_Reg(0x20+0x01,ACK);&nbsp;&nbsp;&nbsp;&nbsp; //应答设置0x3f代表543210应答<br />
&nbsp; &nbsp;NRF24L01_Write_Reg(0x20+0x02,0x3f);&nbsp;&nbsp;&nbsp; //使能地址543210的接收<br />
&nbsp;&nbsp;&nbsp; NRF24L01_Write_Reg(0x20+0x03,0x03);&nbsp;&nbsp;&nbsp;&nbsp; //地址长度5字节<br />
&nbsp; &nbsp;NRF24L01_Write_Reg(0x20+0x04,0xff);//设置自动重发间隔时间:4000us + 86us;最大自动重发次数:15次<br />
&nbsp; &nbsp;NRF24L01_Write_Reg(0x20+0x05,MHz);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置RF频率。24MHz+2400MHz=2424MHz
</p>
<p>
        ///////////////////////////////////////////////////////////////////////////////////////<br />
&nbsp; &nbsp;NRF24L01_Write_Reg(0x20+0x06,0x0F);&nbsp; //TX,0db,2Mbps&nbsp;&nbsp;&nbsp;&nbsp; (0000 1111)<br />
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NRF24L01_Write_Reg(0x20+0x06,0x27);&nbsp; //TX,0db,250kbps&nbsp;&nbsp; (0010 0111)<br />
/////////////////////////////////////////////////////////////////////////////////////////<br />
&nbsp;&nbsp; NRF24L01_CE=1;//CE为高,10us后模块工作<br />
}&nbsp;&nbsp;&nbsp;
</p>
<p>
        //该函数初始化NRF24L01到RX模式<br />
//设置RX地址,写RX数据宽度,选择RF频道,波特率和LNA HCURR<br />
//当CE变高后,即进入RX模式,并可以接收数据了&nbsp;&nbsp;&nbsp;&nbsp; <br />
void RX_Mode(u8 MHz,u8 Longer,u8 ACK)//接收<br />
{&nbsp;&nbsp; <br />
&nbsp;&nbsp; NRF24L01_CE=0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //修改无线配置&nbsp;<br />
&nbsp;&nbsp;&nbsp; NRF24L01_Write_Reg(0x20+0x00,0x0F);//接收,PWR_UP,EN_CRC,16BIT_CRC,<br />
&nbsp;&nbsp;&nbsp; NRF24L01_Write_Reg(0x20+0x01,ACK); //应答设置0x3f代表543210应答<br />
&nbsp;&nbsp;&nbsp; NRF24L01_Write_Reg(0x20+0x02,0x3f);//接收通道使能0x3f代表543210通道接收<br />
&nbsp;&nbsp; NRF24L01_Write_Reg(0x20+0x03,0x03); //地址的字节长度<br />
&nbsp; &nbsp;NRF24L01_Write_Reg(0x20+0x05,MHz);&nbsp; //设置RF通信频率&nbsp; 24MHz+2400MHz=2424MHz<br />
///////////////////////////////////////////////////////////////////////////////<br />
&nbsp; &nbsp;NRF24L01_Write_Reg(0x20+0x06,0x0F); //TX,0db,2Mbps&nbsp;&nbsp;&nbsp;&nbsp; (0000 1111)<br />
//&nbsp;&nbsp;&nbsp; &nbsp;NRF24L01_Write_Reg(0x20+0x06,0x27); //TX,0db,250kbps&nbsp;&nbsp; (0011 0111)<br />
////////////////////////////////////////////////////////////////////////////////<br />
&nbsp;NRF24L01_Write_Buf(0X20+0X0a,(u8*)ADD0,5);//写RX0地址0<br />
&nbsp;NRF24L01_Write_Buf(0X20+0X0b,(u8*)ADD1,5);//写RX1地址1<br />
&nbsp;NRF24L01_Write_Buf(0X20+0X0c,(u8*)ADD2,1);//写RX2地址2<br />
&nbsp;NRF24L01_Write_Buf(0X20+0X0d,(u8*)ADD3,1);//写RX3地址3<br />
&nbsp;NRF24L01_Write_Buf(0X20+0X0e,(u8*)ADD4,1);//写RX4地址4<br />
&nbsp;NRF24L01_Write_Buf(0X20+0X0f,(u8*)ADD5,1);//写RX5地址5<br />
&nbsp;NRF24L01_Write_Buf(0X20+0X10,(u8*)ADD1,5);// 写TX地址
</p>
<p>
        &nbsp;NRF24L01_Write_Reg(0x20+0x11,Longer);//地址0每次传输数据的宽度32字节<br />
&nbsp;NRF24L01_Write_Reg(0x20+0x12,Longer);//地址1每次传输数据的宽度32字节<br />
&nbsp;NRF24L01_Write_Reg(0x20+0x13,Longer);//地址2每次传输数据的宽度32字节<br />
&nbsp;NRF24L01_Write_Reg(0x20+0x14,Longer);//地址3每次传输数据的宽度32字节<br />
&nbsp;NRF24L01_Write_Reg(0x20+0x15,Longer);//地址4每次传输数据的宽度32字节<br />
&nbsp;NRF24L01_Write_Reg(0x20+0x16,Longer);//地址5每次传输数据的宽度32字节
</p>
<p>
        &nbsp;NRF24L01_CE = 1; //CE为高,nrf24开始工作
</p>
<p>
        <br />
}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</p>
<p>
        <br />
&nbsp;
</p>

nrf24L01+--6&1.rar

1.06 MB, 下载次数: 3420

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

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1633
金钱
1633
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2014-5-5 17:57:00 | 显示全部楼层
置顶3天,大家互相交流学习下。
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

120

主题

7884

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-5-5 19:41:17 | 显示全部楼层
不错,谢谢分享,开源顶起
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1633
金钱
1633
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2014-5-6 11:15:50 | 显示全部楼层
nrf24L01的(payload&nbsp;6bit+pid&nbsp;2bit+no_ack&nbsp;1bit)
<br>对应nrf51822的2.4g无线(S0+LENGTH+S1)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S0:1bit。意思是是否空1位
<br>LENGTH:payload&nbsp;6bit
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S1:pid&nbsp;2bit+no_ack&nbsp;1bit
<br>所以nrf51822要设置S0=0;LENGTH=6;S1=3;
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2014-5-6 13:54:40 | 显示全部楼层
不错,谢谢分享.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

109

主题

1608

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2014-5-8 16:53:25 | 显示全部楼层
不错,不错。
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2014-10-3
在线时间
1 小时
发表于 2014-11-23 13:58:47 | 显示全部楼层
NRF24L01_TxPacket(*txbuf)这是一个发射函数,入口参数是一个待发送数据首地址,x=adcx()为ADC采集回来的一个4位数,怎么样可以把它发射出去?
<br>u8&nbsp;tmp_buf[10]={"1234"};
<br>NRF24L01_RxPacket(tmp_buf);
<br>这样的可以发
捍卫梦想!
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2014-11-23 23:22:14 | 显示全部楼层
回复【8楼】ZPY在路上:
<br>---------------------------------
<br>这就是字符串转换的基础知识了,自己搞定。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2013-9-16
在线时间
0 小时
发表于 2014-12-25 10:08:36 | 显示全部楼层
您好,你用过无线吗,最新推荐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
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2015-1-28
在线时间
0 小时
发表于 2015-1-28 22:22:50 | 显示全部楼层
一路追随楼主,谢谢啦。。楼主还有6发1收的资料吗?多多益善,可以抽空发到我的邮箱吗?314487651@qq.com,谢谢啦
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2015-1-28
在线时间
0 小时
发表于 2015-1-28 22:24:04 | 显示全部楼层
忘了说了,我是在做51系列的单片机的,就是学习一下这个多通道收发的问题。。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2013-8-28
在线时间
20 小时
发表于 2015-11-18 17:25:32 | 显示全部楼层
你好,最近在调NRF51822和24L02的通信,单独的NRF51822和51822之间能够通信,2401和2401也能够通信,能够把你调通的代码发个看看吗,我的邮箱是703278714@qq.com
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-6-20
在线时间
7 小时
发表于 2016-7-15 17:23:09 | 显示全部楼层
NRF24L01能不能采用ACK返回数据的方式,实现数据收发?
回复 支持 反对

使用道具 举报

8

主题

74

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2016-6-29
在线时间
34 小时
发表于 2016-7-16 14:46:17 | 显示全部楼层
顶一个,,最喜欢开源资料了,哈哈
回复 支持 反对

使用道具 举报

9

主题

44

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2017-7-10
在线时间
31 小时
发表于 2017-11-6 09:43:03 | 显示全部楼层
     四旋翼主控板为啥用NRF51822,而不用24L01,难道是因为nrf2401有串口通信模块,或者性能更好。
回复 支持 反对

使用道具 举报

9

主题

44

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2017-7-10
在线时间
31 小时
发表于 2017-11-6 10:02:50 | 显示全部楼层
li703278714 发表于 2015-11-18 17:25
你好,最近在调NRF51822和24L02的通信,单独的NRF51822和51822之间能够通信,2401和2401也能够通信,能够把 ...

你好,2401与51822的程序调通了吗,可以发我一份吗,414215819@qq.com, 万分感谢
回复 支持 反对

使用道具 举报

75

主题

458

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1633
金钱
1633
注册时间
2012-8-28
在线时间
71 小时
 楼主| 发表于 2017-11-6 21:01:16 | 显示全部楼层
ckkcy 发表于 2017-11-6 10:02
你好,2401与51822的程序调通了吗,可以发我一份吗,, 万分感谢

http://www.openedv.com/forum.php ... mp;page=1#pid594387
QQ750273008有好的资料记得发给我哦。。。
回复 支持 反对

使用道具 举报

31

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2018-5-3
在线时间
69 小时
发表于 2018-5-28 16:34:04 | 显示全部楼层
li703278714 发表于 2015-11-18 17:25
你好,最近在调NRF51822和24L02的通信,单独的NRF51822和51822之间能够通信,2401和2401也能够通信,能够把 ...

NRF51822和24L02的通信,能行了吗  求程序  谢谢   chen312aa@163.com
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-6-10 12:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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