OpenEdv-开源电子网

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

nRF24l01 多发一收 问题 求指导

[复制链接]

18

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
163
金钱
163
注册时间
2013-11-26
在线时间
0 小时
发表于 2014-4-23 14:00:10 | 显示全部楼层 |阅读模式
我现在是两发一收 但是不知道怎么改配置<br />
void TX_Mode(void)<br />
{                                                                                                                &nbsp;<br />
Clr_NRF24L01_CE;<br />
<br />
#if USE_Channel_0                 &nbsp; &nbsp;<br />
nRF24L01_Write_Buf(NRF24L01_WRITE_REG+TX_ADDR,(u8*)TX_ADDRESS,TX_ADR_WIDTH);&nbsp;<br />
nRF24L01_Write_Buf(NRF24L01_WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH);<br />
#elif USE_Channel_1<br />
nRF24L01_Write_Buf(NRF24L01_WRITE_REG+TX_ADDR,(u8*)TX_ADDRESS1,TX_ADR_WIDTH);&nbsp;<br />
nRF24L01_Write_Buf(NRF24L01_WRITE_REG+RX_ADDR_P1,(u8*)RX_ADDRESS1,RX_ADR_WIDTH);&nbsp;<br />
#endif<br />
<br />
<span style="color:#E53333;">nRF24L01_Write_Reg(NRF24L01_WRITE_REG+EN_AA,0X01);</span><br />
<span style="color:#E53333;"> nRF24L01_Write_Reg(NRF24L01_WRITE_REG+EN_RXADDR,0x01);</span><br />
<br />
nRF24L01_Write_Reg(NRF24L01_WRITE_REG+SETUP_RETR,0x1a);<br />
nRF24L01_Write_Reg(NRF24L01_WRITE_REG+RF_CH,50); &nbsp; &nbsp;&nbsp;<br />
nRF24L01_Write_Reg(NRF24L01_WRITE_REG+RF_SETUP,0x0f); &nbsp;<br />
nRF24L01_Write_Reg(NRF24L01_WRITE_REG+CONFIG,0x0e); &nbsp;&nbsp;<br />
Set_NRF24L01_CE;&nbsp;<br />
} <br />
<br />
<br />
&nbsp;void RX_Mode(void)<br />
{<br />
Clr_NRF24L01_CE;         &nbsp;<br />
nRF24L01_Write_Buf(NRF24L01_WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH);<br />
nRF24L01_Write_Buf(NRF24L01_WRITE_REG+RX_ADDR_P1,(u8*)RX_ADDRESS1,RX_ADR_WIDTH);<br />
<br />
<span style="color:#E53333;">nRF24L01_Write_Reg(NRF24L01_WRITE_REG+EN_AA,0X03);</span><span style="color:#E53333;"></span><br />
<span style="color:#E53333;"> nRF24L01_Write_Reg(NRF24L01_WRITE_REG+EN_RXADDR,0x03); &nbsp;</span><br />
&nbsp;<br />
nRF24L01_Write_Reg(NRF24L01_WRITE_REG+RF_CH,50); &nbsp; &nbsp; &nbsp;<br />
nRF24L01_Write_Reg(NRF24L01_WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH); &nbsp;<br />
nRF24L01_Write_Reg(NRF24L01_WRITE_REG+RX_PW_P1,RX_PLOAD_WIDTH);<br />
&nbsp; &nbsp;<br />
nRF24L01_Write_Reg(NRF24L01_WRITE_REG+RF_SETUP,0x0f); &nbsp; &nbsp;<br />
nRF24L01_Write_Reg(NRF24L01_WRITE_REG+CONFIG, 0x0f);<br />
Set_NRF24L01_CE; &nbsp;<br />
}&nbsp;<br />
<br />
<span style="font-size:14px;color:#009900;">我在红色部分改动了 &nbsp;接收是0x03 打开0、1通道 &nbsp; 发送是0x01</span><span style="font-size:14px;color:#009900;">打开0通道(</span><span style="font-size:14px;color:#009900;">0x02打开1通道)</span><br />
<span style="font-size:14px;color:#009900;">不知道我这样配置有没有错误 &nbsp;不论我怎么改感觉都是0通道接收 &nbsp;就大神指导<br />
<br />
<span style="color:#000000;">u8 nRF24L01_RxPacket(u8 *rxbuf)</span><br />
<span style="color:#000000;"> {</span><br />
<span style="color:#000000;"> u8 RX_P_NO;</span><br />
<span style="color:#000000;"> u8 sta;                 &nbsp; &nbsp;                                                         &nbsp;&nbsp;</span><br />
<span style="color:#000000;"> sta=nRF24L01_Read_Reg(STATUS); &nbsp;&nbsp;</span><br />
<span style="color:#000000;"> nRF24L01_Write_Reg(NRF24L01_WRITE_REG+STATUS,sta);&nbsp;</span><br />
<span style="color:#000000;"> if(sta&amp;RX_OK)</span><br />
<span style="color:#000000;"> {</span><br />
RX_P_NO=sta&amp;0x0e;<br />
switch(RX_P_NO)<br />
{<br />
case 0x00:         nRF24L01_Read_Buf(NRF24L01_RD_RX_PLOAD,rxbuf,RX_PLOAD_WIDTH);<br />
printf(" &nbsp; &nbsp; &nbsp;channel &nbsp;0\r\n");<br />
break;<br />
<br />
case 0x02:        nRF24L01_Read_Buf(NRF24L01_RD_RX_PLOAD,rxbuf,RX_PLOAD_WIDTH);<br />
printf(" &nbsp; &nbsp; &nbsp;channel &nbsp;1\r\n");<br />
break;<br />
<br />
<br />
default: break;<br />
<span style="color:#000000;">} </span><br />
<span style="color:#000000;"> nRF24L01_Write_Reg(NRF24L01_FLUSH_RX,0xff);//????RX FIFO?????÷&nbsp;</span><br />
<span style="color:#000000;"> return 0;&nbsp;</span><br />
<span style="color:#000000;"> }         &nbsp;&nbsp;</span><br />
<span style="color:#000000;"> return 1;<br />
}</span><br />
<span style="color:#000000;"></span></span><span style="font-size:14px;color:#009900;">这个接收的通道选择对不对啊&nbsp;</span><br />
<br />
唯累过,方得闲。唯苦过,方知甜…
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2014-4-23 18:02:20 | 显示全部楼层
论坛有人发过类似的代码,可以搜索下。
站在巨人的肩膀上不断的前进。。。
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-3-6
在线时间
0 小时
发表于 2014-5-4 10:13:19 | 显示全部楼层
楼主改好了没?回复【楼主位】半岛少年、:
<br>---------------------------------
<br>楼主改好了没?
回复 支持 反对

使用道具 举报

18

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
163
金钱
163
注册时间
2013-11-26
在线时间
0 小时
 楼主| 发表于 2014-5-10 10:46:03 | 显示全部楼层
回复【3楼】2010Nobody007:
<br>---------------------------------
<br>没有&nbsp;放弃了
唯累过,方得闲。唯苦过,方知甜…
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 15:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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