找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12796|回复: 11
打印 上一主题 下一主题
收起左侧

与nRF24L01痛楚地缠绵-nRF24L01调试总结

  [复制链接]
跳转到指定楼层
楼主
ID:70976 发表于 2014-12-26 21:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                                                                                                  搞nRF24L01已经有三天了,前两天感觉还好,看得特尔洗特,了解了工作模式,但是还是有好多细节忽略掉了,网上查才看到好多要注意的东西。
  然后就是看牛人写的程序。比对着看,感觉有些地方有很多不解的地方,甚至觉得是错的(以前用1-Wire读ds1302时就是被书本上错误程序给搞怕了,亏那本书封面还做的那么好,叫人心生敬意:权威啊)。
  今天开始用结合硬件调程序,结果问题一大堆。因为是和51通信,需要5V和3.3转换,用了TI的一个芯片,就是不知道硬件有没设计好。看电平匹配芯片的数据手册,发现自己电路的驱动能力不够,但是加了上拉发现是一样的,没加也能通信,真是费解。
  现在有很多问题:
  复位几次MCU后,nRF就不能正确配置了(直观现象是配置寄存器的值读出来有问题,也不知道是通信问题还是真的没配置好),重新给nRF上电,就又能配置了。
  使能AutoAck后,试验发射部分,MAX_RT能置位(把我高兴了一下),然后打开接收,发现还是置位,说明没收到ACK;于是关掉AutoAck,发现并不能置位TX_DS,郁闷。
  datasheet上说写寄存器时必须置低CE,但是我试过置位CE再读寄存器,嘿,一样行,不知道为什么。


  不断的实验,发现使用了TxPacket函数后会造成复位不能配置的问题,原因不明。
  现在有些途径可以尝试:改进电源,现在电源是直接从MCU降压过来的,不知道会不会影响,网上有说430与nRF共电结果工作不好的情况;严格操作CE端;另外就是电平芯片TXB0108了,如果真的是这个芯片在作怪,那么请苍天原谅我,我的确无计可施了(当然可以花半个月废寝忘食来研究430,如果430驱动行了,也就证明它的确不行了)。
  昨晚郁闷到凌晨4点,还不知道今晚郁闷到什么时候,现在是23:49,just keep moving!

  解决一个问题。CE信号控制果然很重要,“上电怪题”就是它引起的。试验的程序里用了TxPacket,而nRF的发送是用CE置位来启动的。进入中断服务程序后直接写状态寄存器,没按通信协议进行,应该先置低CE;但是读寄存器似乎没影响。oh yeah,现在0:15,有点困了。

  好消息,呵呵,TX_DS能置位了,估计发送端能工作了。还有个小问题,刚才读发送端地址时有点无厘头,但是是每次都一样,可是又和定义的不一样(条件是配置时没写地址,用的复位值E7E7E7E7E7,发送函数里写了地址,再次复位后值就不对了)。现在是0:27,越来越困了。

  又回来了。这个问题还没搞太明白。发现在发送时必须加一定的延时(不是CE启动要求的130us,而是较长的一段时间,估计是用作数据包的发送的)。试验程序里发送了之后直接进入中断读状态寄存器,结果出来的又是每次都一样的无厘头数据。怀疑是发送时不应该读取寄存器(但记得datasheet说是可以的)。然后在进入中断后马上延时,发现还是有两个数据错了,这下就不懂了(怀疑和51寄存器组有关。有时间试验一下,制定寄存器组试试)。北京时间0:44。

  不小心的发现,恰好网上看见有人在问这个。STATUS和FIFO_STATUS两个寄存器中都有TX_FIFO标志位,其值与冲洗寄存器和发送状况有关,下面是实验结果。(没有接收端,则EN_AA数据没发出)。都1:22了

EN_AA: (发送不成功,若不冲洗,数据保留,否则数据清除)
不BLUSH_TX  STATUS 中  TX_FULL 1       ,     FIFO_STATUS 中  TX_FULL     1;
    BLUSH_TX  STATUS 中 TX_FULL  0  ,      FIFO_STATUS 中 TX_EMPTY  1;

dis EN_AA: (发送成功,虽然收不到,数据都被清除了)
不BLUSH_TX  STATUS 中 TX_FULL 0      ,      FITO_STATUS 中 TX_EMPTY   1;
    BLUST_TX  STATUS 中   TX_FULL 0      ,      FIFO_STATUS 中 TX_EMPTY  1;




  LALALA,LALALA,LALALA,我是卖报的小行家。。。。呵呵,居然调通了,居然收到数据了。苍天无眼啊,居然被我给调通了(只不过是部分)。但是使能AutoAck还有点问题。哎,太累了,休息下。明天再开始吧。幸福啊。北京时间2:32。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:71359 发表于 2014-12-30 12:43 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

板凳
ID:72886 发表于 2015-1-27 20:55 | 只看该作者
还在设计硬件,来看看nrf24l01好调不,看你们都脑大了
回复

使用道具 举报

地板
ID:72611 发表于 2015-4-4 17:48 | 只看该作者
学习了,谢谢分享
回复

使用道具 举报

5#
ID:76226 发表于 2015-4-6 10:31 | 只看该作者
好经验
回复

使用道具 举报

6#
ID:94896 发表于 2015-11-6 18:35 | 只看该作者
我都不知道怎么搞啊
回复

使用道具 举报

7#
ID:58757 发表于 2015-11-6 21:34 | 只看该作者
感谢经验分享。学习了。
回复

使用道具 举报

8#
ID:78930 发表于 2016-3-17 09:11 | 只看该作者
厉害~~~~~~~~
回复

使用道具 举报

9#
ID:149737 发表于 2016-11-23 16:08 | 只看该作者
谢谢分享!!!!!!!!!!!
回复

使用道具 举报

10#
ID:150002 发表于 2016-11-24 19:59 | 只看该作者
我也被困扰了好久
回复

使用道具 举报

11#
ID:222006 发表于 2017-8-12 00:08 | 只看该作者
谢谢师傅了,新手一个巡线做完了打算搞2401,在收集资料,谢谢前辈们。
回复

使用道具 举报

12#
ID:258806 发表于 2018-1-20 00:56 | 只看该作者
这位前辈你的2014年的:nRF24L01单片机通信的总结--看了就会用了 的待续还没更新啊~~~~~~~求更新~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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