找回密码
 立即注册

QQ登录

只需一步,快速开始

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

用STC89/STC12单片机驱动nRF24L01发送状态总是1E

[复制链接]
跳转到指定楼层
楼主
ID:912806 发表于 2021-8-26 17:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
nRF24L01是个很常见的无线模块, 可能版里大部分大佬都用过, 所以想在这里问问.
  
STC12的代码在这
https://github.com/IOsetting/HML_FwLib_STC12/blob/master/example/spi/spi_nrf24l01.c
如果要用STC89, 只需要改改SPI的部分, 因为STC89不带硬件SPI,需要用软实现  
发送状态的配置
  1. NRF24L01_Write_Reg(NRF24_CMD_REGISTER_W + NRF24_REG_RX_PW_P0, NRF24_PLOAD_WIDTH);
  2. NRF24L01_Write_Reg(NRF24_CMD_FLUSH_RX, 0xff);
  3. NRF24L01_Write_From_Buf(NRF24_CMD_REGISTER_W + NRF24_REG_TX_ADDR, (uint8_t *)TX_ADDRESS, NRF24_ADDR_WIDTH);
  4. NRF24L01_Write_From_Buf(NRF24_CMD_REGISTER_W + NRF24_REG_RX_ADDR_P0, (uint8_t *)TX_ADDRESS, NRF24_ADDR_WIDTH);
  5. NRF24L01_Write_Reg(NRF24_CMD_REGISTER_W + NRF24_REG_EN_AA, 0x3f);
  6. NRF24L01_Write_Reg(NRF24_CMD_REGISTER_W + NRF24_REG_EN_RXADDR, 0x3f);
  7. NRF24L01_Write_Reg(NRF24_CMD_REGISTER_W + NRF24_REG_SETUP_RETR, 0x0a);
  8. NRF24L01_Write_Reg(NRF24_CMD_REGISTER_W + NRF24_REG_RF_CH, 40);
  9. NRF24L01_Write_Reg(NRF24_CMD_REGISTER_W + NRF24_REG_RF_SETUP, 0x07);
  10. NRF24L01_Write_Reg(NRF24_CMD_REGISTER_W + NRF24_REG_CONFIG, 0x0E);
复制代码
用这个配置, 发送消息, 对方NRF24L01能正常接收, 但是本机看到的状态永远是1E, 也就是进行了多次尝试达到最大尝试次数
  
对于同样的这片nRF24L01, 我在STM32上也是用的同样的配置, 但是发送的结果状态就是对的, 稳稳的一直是2E, 也就是发送并正确收到ACK
对应STM32F401CCU6的代码在这里
https://github.com/IOsetting/stm32f401-wireless-car/blob/main/car-control/hardware/nrf24l01.c
  
求教这可能是什么问题?
  
如果有能在STC89/STC12上, nRF24L01发送能得到2E状态码的例子, 也麻烦分享一下, 我在网上找了好几个例子, 全都是返回1E, 连能对比参考的都没有.

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

使用道具 举报

沙发
ID:912806 发表于 2021-8-29 12:15 | 只看该作者
已解决.
最后排查出来问题的根源在于用的TTL2USB兼容性不好, PL2303这个USB转串口不太靠谱.
测试的时候NRF24L01的3.3V都是从USB转串口的3.3V上取的.
原先测的时候用的PL2303, 今天换成了CH340的USB转串口, 再测状态就是2E了.
回复

使用道具 举报

板凳
ID:922838 发表于 2021-10-24 16:03 | 只看该作者
michaelchain 发表于 2021-8-29 12:15
已解决.
最后排查出来问题的根源在于用的TTL2USB兼容性不好, PL2303这个USB转串口不太靠谱.
测试的时候N ...

我的51程序现在也是这样,返回的是1E,然后感觉电源也比较稳啊,不知道出什么问题了

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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