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

相关推荐
d111111111d18 分钟前
STM32中USART和UART的区别是什么?
笔记·stm32·单片机·嵌入式硬件·学习
一路往蓝-Anbo32 分钟前
C语言从句柄到对象 (三) —— 抛弃 Malloc:静态对象池与索引句柄的终极形态
c语言·开发语言·数据结构·stm32·单片机·算法
集芯微电科技有限公司1 小时前
PC1001超高频率(50HMZ)单通单低侧GaN FET驱动器支持正负相位配置
数据结构·人工智能·单片机·嵌入式硬件·神经网络·生成对抗网络·fpga开发
一路往蓝-Anbo1 小时前
C语言从句柄到对象 (二) —— 极致的封装:不透明指针与 SDK 级设计
c语言·开发语言·数据结构·stm32·单片机·嵌入式硬件
dlz08362 小时前
点亮LED灯
单片机·嵌入式硬件
YouEmbedded2 小时前
解码GPIO、寄存器与蜂鸣器(三极管)
stm32·蜂鸣器·三极管·gpio寄存器开发
上大科技蔡生2 小时前
AH6304X:60V/2A 多模式,升降压LED恒流DCDC驱动器
单片机·嵌入式硬件·led·dcdc
曜华激光3 小时前
光伏电池串性能测试仪检测精度极高
单片机·嵌入式硬件
电化学仪器白超3 小时前
20251209Ver8(精密电流源温漂特性测试报告)
python·单片机·嵌入式硬件·自动化
炸膛坦客3 小时前
Cortex-M3-STM32F1 开发:(三十六)APB1 和 APB2 总线的内部构成
stm32·单片机·嵌入式硬件