nRF24L01发送数据长度以及收发问题

我手里有两块nRF24L01,自己查阅手册,参考着网上的程序,发现编程流程都类似,但是我却接收不到数据。存在这样的疑问:#define TX_PLOAD_WIDTH 20 关于设置数据长度,这个长度是纯发送数据长度还是数据+地址+CRC之后的长度呢?如果是后者,那么就有可能会溢出吧。
另外各位能否给我发一个完整的51+24L01收发程序供参考学习呢,604145507@qq.com谢谢了。

这个是纯发送数据,最长32位。地址和CRC是发送方自动添加,接收方自动去除,截取纯数据保存到内部寄存器,接收方的单片机只要读取该寄存器即可,该寄存器的长度是32位。其中地址可以通过NRF的寄存器修改;CRC只能通过NRF的寄存器设置是8位还是16位,不能设置具体能容。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-08
20是发送的数据的Byte数目。并不是整个包的长度
第2个回答  2013-06-26
这个长度是,数据+地址+CRC后的所有长度。追问

嗯,我看网上给的程序设置为32,全部用来装数据,那就要出错了是吧,能否麻烦大大给我发一个标准程序呢,谢了

追答

不好意思,我没有用过nRF24L01,很久前用过nRF905,没有nRF24L01的程序

nrf24l01怎么连续发送数据,我的数据不变怎么回事?请高手指点
nrf一次能发送最多5字节的数据。如果是自动应答的话,当发送出数据,接收端就要发送一个应答信号,发送端接收到这个应答信号就待命准备第二次发送,若没接收到应答信号就根据重发设置来重发;你所说的如何连续发送数据,如果模式为自动应答,那么只要读nrf的statues这个寄存器,有一个数据发送完毕的位,这个...

nrf24l01的TX_FIFO寄存器是多少位的?例如我程序中设置数据宽度为32字...
nRF24L01每次最多只能发送32Byte的数据包,所以要将3个Level中的3×32Byte数据全部发送\/接收,需要进行3次发送\/接收操作。但因为3 Level FIFO中缺少有效的序列机制,所以很容易在使用中发生Level顺序错误的情况。通常建议对数据包进行分包操作。发送多于32Byte的数据时,在发送前先对数据进行“分包"操作使...

nrf24l01传输距离好短,怎么回事?求解答
NRF24L01本来就是无线传输模块中性能最差的,他没有附加的天线可以获得增益,你的2米很正常,因为你在室内,受到环境影响,传输距离会缩短。如果你要更远一些,可以考虑NRF905,CC1100,或者其它的更大功率的无线数传模块,距离可以很快提升。也可以考虑功能更强的zigbee模块,不过它比较贵。 追问 我看网上说它的传输距离怎么...

关于NRF24L01通信的问题
最近在弄2401,弄了三四天了,还没弄出来,现在的主要问题是接收不到数据,发送部分感觉应该是没问题了,因为读出来STATUS和FIFO_STATUS的值是00X2E和0X11,这样应该是发送成功了吧,... 最近在弄2401,弄了三四天了,还没弄出来,现在的主要问题是接收不到数据,发送部分感觉应该是没问题了,因为读出来STATUS和FIFO_STATU...

NRF24LE1的多通道接收问题紧急求助
nRF24L01无线模块实现6个通道接收数据有几点需要注意:(1)EN_AA和EN_RXADDR寄存器的设置,要让所有通道接收数据允许和自动应答,都设置为0x3f;(2)RX_PW_PX(X表示第几通道)寄存器,设置接收数据的数据长度,最大是32字节,默认好像是0;(3)写接收通道地址,P0和P1通道是40位的地址,但是P2到...

求51单片机nRF24L01+无线模块的程序和设计电路图,收和发的
硬件的CRC校验和点对多点的地址控制 ◆ 数据包每次可传输1~32Byte的数据 ◆ 4线SPI通讯端口,通讯速率最高可达8Mbps,适合与各种MCU连接,编程简单 ◆ 可通过软件设置工作频率、通讯地址、传输速率和数据包长度 ◆ MCU可通过IRQ引脚块判断是否完成数据接收和数据发送 原理图 电路原理 nRF24L01原理图 ...

nRF24L01无线模块工作原理
如果开启了自动应答功能,nRF24L01在发送数据后立即进入接收模式,等待接收应答信号。若应答信号与接收节点地址一致,则认为通信成功,TX_DS标志置为高,同时清除TX_FIFO中的数据。如果未能接收到应答,则自动重新发射数据,直至达到预设的重发次数上限。当重发次数达到上限或收到应答后,MAX_RT或TX_DS标志置...

nrf24l01性能参数
一次传输1至32字节的数据,适应各种数据包大小需求。 简单接口:4线SPI通讯端口,最高可实现8Mbps的通讯速率,方便与各种MCU无缝连接。 可编程性:通过软件可以设置工作频率、通讯地址、传输速率和数据包长度,提升灵活性。 中断功能:MCU可通过IRQ引脚快速判断数据接收和发送的状态,提高响应速度。

为什么我做的NRF24L01无线模块,单片机上电后只能发送和接收一次数据啊...
没用过24L01,以使用CC1101的经历讨论下:无线芯片接收前想要收到数据,必须把芯片设置成接收状态,CC1101的是写SRX命令。每次接收后也要写此命令。好好读读芯片的datasheet跟user guide吧,那个上面很全。

求助,STM32关于nRF24L01令人发指的丢包问题
一般是以下2个问题 1.收发不同步带来的丢失,比如发的太快了,数据量太多了,接收不过来了 2.就是本身24L01距离近 ,距离远了就容易丢包

相似回答