NRF24L01模块STM32-调试心得:报错 1E

前言

环境:

芯片:STM32F103C8T6

Keil:V5.24.2.0


调试时我们会尝试读取STATUS寄存器状态来了解模块目前的状态,但是我们在读取时至为0x1E,这就很纳闷,根据寄存器描述

0x1E:对应寄存器4:1,关系有:达到最大重发次数

RX FIFO为空,

第四位很好理解也很好判断,达到了最大重发次数报错.可以将最大重发次数关闭,一直进行重发

SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x00); //失能自动重发

第1到3位就很难理解了,我只是发送,关接收什么关系?

实际是应答信号反馈,如果关闭应答信号,就不会是这个值了

SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x00); //失能接收通道0

失能这两个状态,再次获取状态值就不是1E了.

到这里,大家看看是否可以调试通顺.

如果还是不行,接着往下看

可能的原因还是出在 RX_P_NO 这个状态寄存器上.因为之前是关闭了,所以功能正常了,但是打开并不代表我们就能正常接收到接收端的反馈信号.这就需要我们调试好接收端的代码,并且一定带上自动应答后,再次回来调试,如果还是不行,建议使用源码和配套的开发板进行验证,之后更改为自己的代码.

相关推荐
d111111111d35 分钟前
STM32外设学习-WDG看门狗-(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习
LCG米1 小时前
实战:利用恩智浦RT1180的TSN功能,打造高实时性PLC从站IO控制器
嵌入式硬件
点灯小铭1 小时前
基于51单片机的医院银行排队叫号系统设计与实现
单片机·嵌入式硬件·毕业设计·51单片机·课程设计·期末大作业
啊森要自信2 小时前
【STM32】USART串口通信
c语言·开发语言·stm32·单片机·嵌入式硬件
做一道光2 小时前
电机控制——电流采样(双电阻)
笔记·单片机·嵌入式硬件·电机控制
就是蠢啊4 小时前
51单片机——DS18B20(一)
单片机·嵌入式硬件·51单片机
影阴4 小时前
通用定时器 输入捕获 +hal实现检测pwm周期和频率
stm32·单片机·hal
一个平凡而乐于分享的小比特4 小时前
DMA详解:让数据传输“甩掉”CPU的搬运工
嵌入式硬件·dma
贝塔实验室4 小时前
如何使用Altium Designer进行项目编译及验证
单片机·嵌入式硬件·mcu·射频工程·基带工程·嵌入式实时数据库·精益工程
点灯小铭6 小时前
基于单片机的智能门控制系统设计与故障报警实现
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业