完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
接收和发送配置基本采用参考例程
[C] 纯文本查看 复制代码 发送端主体 [C] 纯文本查看 复制代码 接收端主体 [C] 纯文本查看 复制代码 每次PTX发送 PRX端能接收到数据,但是PTX端收不到PRX发出的ACK数据,PTX的STATUS寄存器为0x2E,说明发送成功,收到了ACK,但是没有ACK中的数据 不知道时什么问题,也不知道如果确认 //PRX发送ACK数据包 void NRF24L01_TxPacket_AP(u8 *ackbuf) { NRF24L01_CE=0; NRF24L01_Write_Buf(CMD_W_ACK_PAYLOAD(0),ackbuf,RX_PLOAD_WIDTH); NRF24L01_CE=1; } 有没有起作用 已自行解决! |
|
相关推荐
2个回答
|
|
检查了PRX端的TX FIFO
TX_FULL TX_EMPTY TX_FULL 始终为零,正常 TX_EMPTY在FIFO写入ack数据之前(NRF24L01_TxPacket_AP(tmp_buf))为1,写入后为0,TX_DS也会置位,说明也正常 看来问题还是在PTX端 |
|
|
|
昨天自己找到原因了,使用Enhanced ShockBurst™,ACK packet包含payload,PTX、PRX都必须Enable dynamic payload length,设置寄存器DYNPD、FEATURE
手册中有如下描述 Enhanced ShockBurst™ provides two alternatives for handling payload lengths; static and dynamic. An ACK packet can contain an optional payload from PRX to PTX. In order to use this feature, the Dynamic Payload Length (DPL) feature must be enabled. 说明静态长度也是可以的,PTX能接收到ACK packet。 但是ACK packet要包含payload的话就必须使能动态payload长度 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2365 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2135 浏览 5 评论
2855 浏览 3 评论
2586 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2536 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
332浏览 1评论
583浏览 0评论
613浏览 0评论
366浏览 0评论
185浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-6-24 21:29 , Processed in 0.858428 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191