veryjc 发表于 2011-8-10 13:21:53

关于 nRF24L01 双向传输

最近在搞nRF24L01的双向传输,可是碰到个问题,主机这端有主动延时1秒发一次数据,副机在收到数据后,要立即返回个数据给主,所以主要有1秒钟的时间作为接收模式 ,每次副机都能收到数据,当副机返回的数据主机怎么样也收不到,会不会是 接收与发送在切换的时候需要延时呢
副机如果是一直发数据 主要是可以收的,当就是单次发的时候发不了,这是怎么回事呢 ,请大家给点意件,谢谢。

qycc566 发表于 2011-8-10 15:44:08

NRF24L01是通信是单工的,所以双向传输时在一端发送数据的同时另一端也在发送数据则会出现MAX_RT错误,要实现数据双向传输,以下是我的做法:
1.在发送前检查STATUS的RX_DR与TX_FULL位
2.在完成数据传输后将NRF24L01状态机变更为接收模式
3.在发生MAX_RT错误后重发数据
4.使用中断

点击此处下载 ourdev_666213VWSL5O.zip(文件大小:3K) (原文件名:nrf24l01.zip)

veryjc 发表于 2011-8-10 19:48:38

非常感谢,我试试

Alvin007 发表于 2011-11-18 11:49:11

回复【1楼】qycc566
-----------------------------------------------------------------------

不知道这位朋友做到协议效果如何

dianzichina 发表于 2012-2-9 22:34:34

回复【1楼】qycc566
nrf24l01是通信是单工的,所以双向传输时在一端发送数据的同时另一端也在发送数据则会出现max_rt错误,要实现数据双向传输,以下是我的做法:
1.在发送前检查status的rx_dr与tx_full位
2.在完成数据传输后将nrf24l01状态机变更为接收模式
3.在发生max_rt错误后重发数据
4.使用中断
点击此处下载(原文件名:nrf24l01.zip)

-----------------------------------------------------------------------

“nrf24l01是通信是单工的。。。”这种提法是错误的。既然后续又说到了数据的双向传输,只是不能同时发送,这就是半双工通信了。

jiang887786 发表于 2014-5-5 18:53:11

楼主你好,我也碰到和你一样的问题了,你怎么解决的,科普一下,谢谢!

goldtiny 发表于 2014-9-13 20:26:07

楼主你好,你的问题解决了吗?如果解决的话,能分享一下经验吗?我单向跳频已经做好了,做双向的的时候,卡在这一块了。
页: [1]
查看完整版本: 关于 nRF24L01 双向传输