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

相关推荐
AiFlutter11 分钟前
低代码平台开发手机USB-HID调试助手
单片机·游戏·计算机外设
Mirelladis1 小时前
实验:串口通信
单片机·51单片机
RaLi和夕1 小时前
单片机学习笔记9.数码管
汇编·笔记·单片机·嵌入式硬件·学习
普普通通的一名码农2 小时前
ESP32-S3 入门学习笔记(四):LED实验
笔记·单片机·学习
教练、我想打篮球2 小时前
03 基于 STM32 的温度控制系统
stm32·单片机·嵌入式硬件
电鱼智能的电小鱼3 小时前
EFISH-SBC-RK3588 —— 厘米级定位 × 旗舰算力 × 工业级可靠‌
linux·人工智能·嵌入式硬件·边缘计算
ltqshs3 小时前
STM32标准库和HAL库SPI发送数据的区别-即SPI_I2S_SendData()和HAL_SPI_Transmit()互换
stm32·单片机·嵌入式硬件
程序员JerrySUN3 小时前
驱动开发硬核特训 · Day 22(上篇): 电源管理体系完整梳理:I2C、Regulator、PMIC与Power-Domain框架
linux·驱动开发·嵌入式硬件
xyd陈宇阳4 小时前
STM32(M4)入门:定时器延时与系统滴答(价值 3w + 的嵌入式开发指南)
stm32·单片机·嵌入式硬件
即安莉5 小时前
STM32 CAN通信 HAL库实战教程:从零到测试成功
stm32·单片机·嵌入式硬件