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

相关推荐
逐步前行13 小时前
嵌入式图形库-LVGL v9.6-基础概念
单片机·嵌入式硬件
新晨单片机设计13 小时前
S025F-STM32蓝牙智能手环(心率、血氧、体温、计步)【Proteus仿真+Keil程序+原理图】
stm32·嵌入式硬件·proteus·蓝牙智能手环
coward9113 小时前
全志和瑞芯微平台反编译设备树
linux·嵌入式硬件
潜创微科技14 小时前
CH591:成本优化的青稞 RISC-V 无线 MCU
c语言·单片机·risc-v·低延迟·沁恒·青稞
深圳海导科技14 小时前
深圳海导科技navynav|小型RTK数传电台:高精度定位场景下的枢纽
单片机·嵌入式硬件
番茄灭世神14 小时前
PN学堂GD32课程第15篇——HardFault异常
c语言·单片机·嵌入式
创界工坊工作室15 小时前
49-基于单片机的火警报警器设计
stm32·单片机·嵌入式硬件·51单片机·proteus
笨笨饿15 小时前
144_Codex变慢的解决办法
stm32·单片机·嵌入式硬件·mcu·物联网·51单片机·proteus
学linux的QQ蛋15 小时前
IMX6 嵌入式多传感器系统整体架构梳理
linux·嵌入式硬件·架构
zhaoshuzhaoshu15 小时前
什么是信号量?信号量的种类、使用方法与 STM32 案例
嵌入式硬件