查看: 1605|回复: 0

2.4G NRF24L01无线射频模块调试方法

[复制链接]
  • TA的每日心情

    2023-7-25 22:49
  • 签到天数: 385 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2016-2-18 10:30:46 | 显示全部楼层 |阅读模式
    分享到:
    玩NRF24L01时候,很多朋友反应调试模块有困难,调试不通的时候,不知道到底是芯片坏了还是收发芯片调试有BUG,现在把调试的方法一步步讲解一下,一劳永逸的解决这些问题。
    分析步骤:
    首先给芯片上电的时候,切记 VCC供电不要超过3.6V,否则芯片基本上报废了
    (A)检查芯片是否被烧坏,烧录提供的发射(TX)代码,方法两种:
    第一种,由于MISO脚的数据时读出来,所以用示波器看一下MISO脚是不是有波形,如果有,说明芯片没有被烧坏。
    第二种,用SPI进行读写寄存器,如果写入的数据和读出来的数据一样,说明芯片没有问题。
    (B)检查芯片发送端:
    (1)从发送代码中找到
      SPI_RW_Reg(WRITE_REG + EN_AA, xxxx);   
      SPI_RW_Reg(WRITE_REG + EN_RXADDR, xxxx);   
    SPI_RW_Reg(WRITE_REG + SETUP_RETR, xxxx);  
    把“xxxx”值改为如下值
      SPI_RW_Reg(WRITE_REG + EN_AA, 0x00);  // 关闭通道0自动应答
      SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x00);  // 关闭接收通道0
    SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x00);  // 关闭自动重发
    (2)读取STATUS和FIFO_STATUS的值,在loop函数加入
      status=SPI_Read(STATUS);
      fifostatus=SPI_Read(FIFO_STATUS);
    如果status=0x2e,fifostatus=0x11,标志发送方成功,不成功检查硬件连接、时序等可能导致的问题,关于“status=0x2e,fifostatus=0x11”,请看芯片寄存器介绍,在此不一一解释。
    (B)检查芯片接受端:
    (1)发送方不要撤离,用另一块主板连上另一个NRF2401。从接收代码中找到
      SPI_RW_Reg(WRITE_REG + EN_AA, xxxx);   
    SPI_RW_Reg(WRITE_REG + EN_RXADDR, xxxx);   
    把“xxxx”值改为如下值
      SPI_RW_Reg(WRITE_REG + EN_AA, 0x00);  // 关闭通道0自动应答
    SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);  // 接收要使能接收通道0
    (2)读取STATUS和FIFO_STATUS的值,在loop函数加入
      status=SPI_Read(STATUS);
      fifostatus=SPI_Read(FIFO_STATUS);
    如果接收方成功,STATUS和FIFO_STATUS值如下:
    status=0x40,
    如果NRF24L01最大支持32字节宽度,即RX_PLOAD_WIDTH=32
    Fifostatus  0x12------>0x11
    如果NRF24L01支持小于32字节宽度,即RX_PLOAD_WIDTH<32
    Fifostatus  0x10------>0x11
    (3)发送接收方都调试成功后,把之前调试“xxxx”的值恢复还原,重新编译烧录代码测试。
    热门推荐:
    手把手带你玩NRF24L01
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 10:35 , Processed in 0.107612 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.