搜索
bottom↓
回复: 31

NRF24L01 接收1对六?

[复制链接]

出0入0汤圆

发表于 2009-7-17 13:31:45 | 显示全部楼层 |阅读模式
菜鸟的问题。。。
NRF24L01怎么在接收时,改变什么寄存器,才能实现1个接收对6个发射呢?
配置的时候是不是,一次性配完,还是分时匹配?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-7-17 13:43:11 | 显示全部楼层
配置地址就行了

出0入0汤圆

 楼主| 发表于 2009-7-17 13:49:21 | 显示全部楼层
是不是一次性配置完吗?

出0入0汤圆

 楼主| 发表于 2009-7-17 13:52:48 | 显示全部楼层
void RX_Mode(void)
{
    Nop();
    Nop();
        CE=0;
    Nop();    Nop();
TX_ADDRESS[0]=0x34;
TX_ADDRESS[1]=0x43;
TX_ADDRESS[2]=0x10;
TX_ADDRESS[3]=0x10;
TX_ADDRESS[4]= 0x01;
//                SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH);
TX_ADDRESS[4]= 0x02;
                SPI_Write_Buf(WRITE_REG + RX_ADDR_P1, TX_ADDRESS, TX_ADR_WIDTH);
TX_ADDRESS[4]= 0x03;
                SPI_Write_Buf(WRITE_REG + RX_ADDR_P2, TX_ADDRESS, TX_ADR_WIDTH);
TX_ADDRESS[4]= 0x04;
                SPI_Write_Buf(WRITE_REG + RX_ADDR_P3, TX_ADDRESS, TX_ADR_WIDTH);
TX_ADDRESS[4]= 0x05;
                SPI_Write_Buf(WRITE_REG + RX_ADDR_P4, TX_ADDRESS, TX_ADR_WIDTH);
TX_ADDRESS[4]= 0x06;
          SPI_Write_Buf(WRITE_REG + RX_ADDR_P5, TX_ADDRESS, TX_ADR_WIDTH); // Use the same address on the RX device as the TX device
          SPI_RW_Reg(WRITE_REG + EN_AA, 0x3f);      // Enable Auto.Ack:Pipe0


   // SPI_RW_Reg(WRITE_REG + SETUP_AW, 0x03);      // Enable Auto.Ack:Pipe0


          SPI_RW_Reg(WRITE_REG + EN_RXADDR,0x3f);  // Enable Pipe0
          SPI_RW_Reg(WRITE_REG + RF_CH, 40);        // Select RF channel 40
//          SPI_RW_Reg(WRITE_REG + RX_PW_P0, TX_PLOAD_WIDTH); // Select same RX payload width as TX Payload width
        SPI_RW_Reg(WRITE_REG + RX_PW_P1, TX_PLOAD_WIDTH);
        SPI_RW_Reg(WRITE_REG + RX_PW_P2, TX_PLOAD_WIDTH);
        SPI_RW_Reg(WRITE_REG + RX_PW_P3, TX_PLOAD_WIDTH);
        SPI_RW_Reg(WRITE_REG + RX_PW_P4, TX_PLOAD_WIDTH);
        SPI_RW_Reg(WRITE_REG + RX_PW_P5, TX_PLOAD_WIDTH);
          SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07);   // TX_PWR:0dBm, Datarate:2Mbps, LNA:HCURR
          SPI_RW_Reg(WRITE_REG + CONFIG, 0x3f);     // Set PWR_UP bit, enable CRC(2 bytes) & Prim:RX. RX_DR enabled..
    Nop();
          CE = 1; // Set CE pin high to enable RX device
    Nop();
    Nop();
    Nop();
  //  This device is now ready to receive one packet of 16 bytes payload from a TX device sending to address
  //  '3443101001', with auto acknowledgment, retransmit count of 10, RF channel 40 and datarate = 2Mbps.

}

出0入0汤圆

 楼主| 发表于 2009-7-17 13:53:29 | 显示全部楼层
是这样的吗?

出0入0汤圆

 楼主| 发表于 2009-7-17 23:17:33 | 显示全部楼层
达人,帮忙解决一下.....

出0入0汤圆

 楼主| 发表于 2009-7-19 09:23:08 | 显示全部楼层
调频是可以,在同一频下6个实现,那么调频不是可以扩展更多

出0入0汤圆

 楼主| 发表于 2009-7-21 11:01:32 | 显示全部楼层
只有0和1通道可以使用,也就是说:在使用0和1通道的情况下,可以实现1接收对2发送。。。
但是2-5通道怎么使用呢?
看DATASHEET上说,0和1是上电缺省的打开通道。。。
而2-5同样的程序。。。也可以打开。。。为什么实现不了呢?

出0入0汤圆

 楼主| 发表于 2009-7-22 09:06:57 | 显示全部楼层
问题已经解决!
从本论坛里找到的办法!
做1对六的时候要注意几点:
1》发送的地址,要细看先发送低字节。。。网上的例程是0通道的--看不出来。
2>接收的地址配置也是底字节的。
3》1-5通道的地址配置,特别是2-5通道的地址配置不是每个通道一次配置3-5个字节而是一个字节
上述问题就这样解决的

出0入0汤圆

发表于 2009-8-25 13:22:27 | 显示全部楼层
楼主,能把你的程序传上来吗,我的一对六还不行呀,谢谢!

出0入0汤圆

发表于 2009-9-19 08:45:48 | 显示全部楼层
楼主能否再说的详细一些,或者传一段代码,谢谢

出0入0汤圆

发表于 2009-9-24 16:59:57 | 显示全部楼层
呼唤失踪了的楼主回来贴源码

出0入0汤圆

发表于 2009-9-24 17:07:38 | 显示全部楼层
MARK

出0入0汤圆

发表于 2009-10-14 20:31:51 | 显示全部楼层
顶下 好帖~~

出0入0汤圆

发表于 2010-1-12 18:50:56 | 显示全部楼层
正想调24L01,一对多的通讯,来凑热闹

出0入0汤圆

发表于 2010-2-12 21:49:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-12 22:11:05 | 显示全部楼层
我碰到的问题是一发多收,有个问题是自动应答方式,并非每个都收到,结果发送方收到一个ACK就不再重复,造成其他没有收到的没有机会重收

出0入0汤圆

发表于 2010-3-25 17:34:47 | 显示全部楼层
MARK~~

出0入0汤圆

发表于 2010-5-11 16:44:23 | 显示全部楼层
记号

出0入0汤圆

发表于 2010-5-23 12:32:51 | 显示全部楼层
回复【楼主位】lsx7057500
-----------------------------------------------------------------------

有没有详细点的例程没有呀

出0入0汤圆

发表于 2010-5-28 17:38:54 | 显示全部楼层
回复【9楼】lsx7057500
-----------------------------------------------------------------------

楼主能否上传你的1对6代码,本人也在玩,就是不知道怎么处理配置和接收

出0入0汤圆

发表于 2010-6-2 18:10:36 | 显示全部楼层
关注

出0入0汤圆

发表于 2010-6-2 20:29:38 | 显示全部楼层
楼主能帮我一个大忙吗?我的还收不到数据包,
我估计可能是接收端短路VDD造成的(IO不足),我修改起来很麻烦,而且不知道能不能行。
楼主能把你的接收端CE短路VDD试下看看能收到数据包吗?

出0入0汤圆

发表于 2010-8-10 09:46:01 | 显示全部楼层
可是我的还是不知道怎么做到啊

出0入0汤圆

发表于 2010-8-10 10:17:16 | 显示全部楼层
楼主能吧代码传给我吗   nianhong1989@126.com

出0入0汤圆

发表于 2010-8-18 12:34:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-19 09:37:49 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-8-27 14:04:24 | 显示全部楼层
有好多学习的啊。。。。我也加入!

出0入0汤圆

发表于 2010-9-30 09:27:01 | 显示全部楼层
MAKE

出0入0汤圆

发表于 2010-10-1 10:16:24 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-16 19:36:27 | 显示全部楼层
点击此处下载 ourdev_589143OES181.pdf(文件大小:84K) (原文件名:工程师必备(短距离无线选型参考).pdf)
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-16 22:04

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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