搜索
bottom↓
回复: 14

哪位大神知道24l01的ack packets功能。。。。

[复制链接]

出0入0汤圆

发表于 2013-11-2 18:02:05 | 显示全部楼层 |阅读模式
哪位大神知道24l01的ack packets功能。。。。
匿名四轴上使用了这个功能,但是数据手册里寄存器找不全,这是为什么?

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2013-11-2 19:49:22 | 显示全部楼层
ack packet 是应答包,接收端表示确认收到,发送端如果没得到应答包回复的话可以选择重发。
您说的是dynamic ack么,这个在手册的中文翻译版里没写,英文文档有说明,大概是和dynamic payload对应使用的。

出0入0汤圆

 楼主| 发表于 2013-11-2 21:17:37 | 显示全部楼层
K.O.Carnivist 发表于 2013-11-2 19:49
ack packet 是应答包,接收端表示确认收到,发送端如果没得到应答包回复的话可以选择重发。
您说的是dynami ...

是应答的时候带着用户数据,实现比较快速的半双工通信

出0入0汤圆

发表于 2013-11-3 00:30:15 来自手机 | 显示全部楼层
要么翻译的偷懒   要么翻译的。。   把某些东西略去了

出0入0汤圆

发表于 2013-11-3 00:43:57 | 显示全部楼层
英文说明书中有,1C,1D寄存器,设置好后,使用W_ACK_PAYLOAD(0xA8)命令发送应答数据

出0入0汤圆

 楼主| 发表于 2013-11-3 01:03:08 | 显示全部楼层
yuangaoping 发表于 2013-11-3 00:43
英文说明书中有,1C,1D寄存器,设置好后,使用W_ACK_PAYLOAD(0xA8)命令发送应答数据 ...

恩,我不明白的是为啥匿名四轴程序里有这个
NRF_Write_Reg(FLUSH_TX,0xff);
NRF_Write_Reg(FLUSH_RX,0xff);
NRF_Write_Reg(NRF_WRITE_REG + CONFIG, 0x0f);                    // IRQ收发完成中断开启,16位CRC,主接收
               
Spi_RW(0x50);
Spi_RW(0x73);
NRF_Write_Reg(NRF_WRITE_REG+0x1c,0x01);
NRF_Write_Reg(NRF_WRITE_REG+0x1d,0x07);


Spi_RW(0x50);
Spi_RW(0x73);这东西哪来的

出0入0汤圆

发表于 2013-11-3 08:38:45 | 显示全部楼层
就是主发送发送数据后主接收发送的ack不是专门的ack  而是带有数据的ack  从而实现双工

出0入0汤圆

发表于 2013-11-3 10:30:52 | 显示全部楼层
Spi_RW(0x50);
Spi_RW(0x73);
这两条指令是为了重新开启动态载荷功能的。

看我的代码
#if DYNAMIC_PAYLOAD//使用动态载荷方式时
        if((config & 0x01) == 0)//发射下模式需要清除,接收模式下不能清除。//因为指令要放在接收前进行模式转换,清楚缓冲区会导致收不到数据
        {
                nRF24L01_Write_Reg(nRF_WRITE_REG | nRF_FLUSH_TX, 0xff);
                nRF24L01_Write_Reg(nRF_WRITE_REG | nRF_FLUSH_RX, 0xff);
        }
       
        nRF24L01_Write_Reg(nRF_WRITE_REG | FEATURE, 0x07);        //动态载荷写入参数
        if(nRF24L01_Read_Reg(FEATURE) == 0x00)                                //检查动态载荷参数是否正确写入
        {
                nRF24L01_Write_Reg(Activate, Code_Activate);        //重新使能
        }
        #if nRF_PTX
        nRF24L01_Write_Reg(nRF_WRITE_REG | DYNPD, 0x01);        //发射模式下仅使能通道0
        #else
        nRF24L01_Write_Reg(nRF_WRITE_REG | DYNPD, 0x3f);        //接收模式下使能全部通道
        #endif
        nRF24L01_Write_Reg(nRF_WRITE_REG | FEATURE, 0x07);        //动态载荷,EN_DPL使能动态载荷|EN_ACK_PAY使能带载荷的ACK应答|EN_DYN_ACK使能nRF_W_TX_PAYLOAD_NOACK发送载荷
#else//使用静态数据载荷
        nRF24L01_Write_Reg(nRF_WRITE_REG | RX_PW_P0, RX_PLOAD_WIDTH);//指定接收数据长度
        #if !nRF_PTX//接收模式下全部通道使能
        nRF24L01_Write_Reg(nRF_WRITE_REG | RX_PW_P1, RX_PLOAD_WIDTH);//指定接收数据长度
        nRF24L01_Write_Reg(nRF_WRITE_REG | RX_PW_P2, RX_PLOAD_WIDTH);//指定接收数据长度
        nRF24L01_Write_Reg(nRF_WRITE_REG | RX_PW_P3, RX_PLOAD_WIDTH);//指定接收数据长度
        nRF24L01_Write_Reg(nRF_WRITE_REG | RX_PW_P4, RX_PLOAD_WIDTH);//指定接收数据长度
        nRF24L01_Write_Reg(nRF_WRITE_REG | RX_PW_P5, RX_PLOAD_WIDTH);//指定接收数据长度
        #endif
#endif

出0入0汤圆

 楼主| 发表于 2013-11-3 19:29:20 | 显示全部楼层
yuangaoping 发表于 2013-11-3 10:30
Spi_RW(0x50);
Spi_RW(0x73);
这两条指令是为了重新开启动态载荷功能的。

我再仔细研究一下,真的非常感谢您耐心的讲解!

出0入0汤圆

 楼主| 发表于 2013-11-3 19:36:36 | 显示全部楼层
chenjiawei7 发表于 2013-11-3 08:38
就是主发送发送数据后主接收发送的ack不是专门的ack  而是带有数据的ack  从而实现双工 ...

恩,就是这个功能,就是我自己写的代码不能用

出0入0汤圆

发表于 2013-11-3 20:39:49 | 显示全部楼层
mazhenyu 发表于 2013-11-3 19:36
恩,就是这个功能,就是我自己写的代码不能用

看英文手册。。。这个是主接收发送给主发送数据的函数,也就是利用ack发送数据,这个指令是中文手册里没有的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-11-3 22:29:13 | 显示全部楼层
chenjiawei7 发表于 2013-11-3 20:39
看英文手册。。。这个是主接收发送给主发送数据的函数,也就是利用ack发送数据,这个指令是中文手册里没 ...

恩,还有那个250k的设置中文也没有

出0入0汤圆

 楼主| 发表于 2013-11-3 22:41:24 | 显示全部楼层
chenjiawei7 发表于 2013-11-3 20:39
看英文手册。。。这个是主接收发送给主发送数据的函数,也就是利用ack发送数据,这个指令是中文手册里没 ...

这个函数应该不是在接收中断里调用吧

出0入0汤圆

发表于 2013-11-3 23:07:40 | 显示全部楼层
还有啥不清楚的,可以看我之前的一个帖子基于STM32的nRF24L01驱动,经过验证测试

出0入0汤圆

 楼主| 发表于 2013-11-4 10:16:59 | 显示全部楼层
yuangaoping 发表于 2013-11-3 23:07
还有啥不清楚的,可以看我之前的一个帖子基于STM32的nRF24L01驱动,经过验证测试 ...

谢谢。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-8-26 12:20

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

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