你好,我以前用这个芯片的时候也出现过这种问题,导致这种情况的原因其实有很多,要具体分析一下。
我当时的解决的办法主要有以下几个方面:
1、用示波器查看各个管脚的时序波形图,对照使用说明书上的波形,看是否出错。
查看的时候主要从以下几方面入手:sck是否为标准的矩形脉冲信号,总共应该有16个周期(如果发送数据是16位的话,那么应该是24个周期);mosi管脚上的电平时序即为你从单片机写入芯片的值,比如你写入0x70,则应该是0111 0000;miso是你从芯片读出来的值;
2、再仔细检查一遍nRF24l01的各个管脚是否和程序中定义的管脚一一对应。
3、(我当时的故障原因)检查芯片的地线是否接牢,注意要和单片机共地,而且最好供3.3v的电压
希望我的回答对你有帮助^_^
Nrf24L01 的 状态寄存器低4位只读的,只有高四位是可读写的,写进去0x70的意思 是清除接收成功、发送成功和超过最大重发次数中断这三种中断,这三种中断写1清除,所以写1后读出来的4-6位为0;而你读出来的0x0e的意思是当前没有发生这三种中断,并且RX_FIFO寄存器为空,且TX_FIFO 寄存器未满,有可用空间 !具体的多看看资料,寄存器读出来的状态在资料上都有讲……你这个问题可比我的小多了,我现在是参数都配置OK了,就是发送不出去……