发 帖  
原厂入驻New
[问答] NRF24l01发送问题如何解决
4 nRF24L01
分享
我关闭了使能接受通道和自动应答通道,读取STATUS 的值为0x2e没问题,读取FIFO_STATUS的值却也为0x2e,本应该为0x11,表示已经tx寄存器清空,求助大神,为何我读取是2e,更奇怪的是我不发送数据也不设置发送模式,然后读取FIFO_STATUS的却为0x0e,而默认情况下应为0x11啊。可我没有改变<span>FIFO_STATUS的值</span>
0
2020-5-22 05:01:49   评论 分享淘帖 邀请回答
2个回答
<br>谢谢原子哥,已经解决了,其实是读寄存器函数写错了,我一开始写的是
<br>void&nbsp;NRF_ReadReg(u8&nbsp;reg)
<br>{
<br>&nbsp;&nbsp;&nbsp;&nbsp;u8&nbsp;status;
<br>&nbsp;&nbsp;&nbsp;&nbsp;NRF_CSN_LOW;
<br>&nbsp;&nbsp;&nbsp;&nbsp;status=SPI_SendByte(reg);
<br>&nbsp;&nbsp;&nbsp;&nbsp;NRF_CSN_HIGH;
<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;status;
<br>}
<br>而正确的应该是这样
<br>void&nbsp;NRF_ReadReg(u8&nbsp;reg)
<br>{
<br>&nbsp;&nbsp;&nbsp;&nbsp;u8&nbsp;status;
<br>&nbsp;&nbsp;&nbsp;&nbsp;NRF_CSN_LOW;
<br>&nbsp;&nbsp;&nbsp;&nbsp;SPI_SendByte(reg);
<br>&nbsp;&nbsp;&nbsp;&nbsp;status=SPI_SendByte(0xff);
<br>&nbsp;&nbsp;&nbsp;&nbsp;NRF_CSN_HIGH;
<br>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;status
<br>}
<br>原子哥,弱弱的问下为什么读寄存器先发命令再发0xff读出,不可以直接status=SPI_SendByte(reg);这样?
2020-5-22 16:14:14 评论

举报

2020-5-22 16:21:08 评论

举报

只有小组成员才能发言,加入小组>>

93个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

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