永发信息网

nRF24L01中状态寄存器读出来的数据都是00啊?

答案:2  悬赏:0  手机版
解决时间 2021-03-20 00:26
  • 提问者网友:星軌
  • 2021-03-19 14:27
这几天在调试NRF24L01模块,发射接收数据都很正常,可是这个STATUS一直没闹明白,我把这个寄存器里的数据读出来后通过串口发送到串口调试助手里,都是00,这个时候我很郁闷,就把主函数里的程序都屏蔽了,只留了3句话,把0x70写入STATUS,然后读出来,然后发送到电脑里,居然是F8,而不是70,哪位高手指点一下啊???这是为什么啊(电脑串口肯定没问题的)
最佳答案
  • 五星知识达人网友:想偏头吻你
  • 2021-03-19 15:12
收发数据正常? 能发得出去也接得回来数据吗? 状态寄存器在接收到数据的时候Status的值应该是0x40,你把断点设在那看一下值是不是对的,当有发送中断,接收中断和发送益出中断时,相应的位就会拉高,你对应手册看吧
全部回答
  • 1楼网友:时间的尘埃
  • 2021-03-19 16:15
nrf24l01 的 状态寄存器低4位只读的,只有高四位是可读写的,写进去0x70的意思 是清除接收成功、发送成功和超过最大重发次数中断这三种中断,这三种中断写1清除,所以写1后读出来的4-6位为0;而你读出来的0x0e的意思是当前没有发生这三种中断,并且rx_fifo寄存器为空,且tx_fifo 寄存器未满,有可用空间 !具体的多看看资料,寄存器读出来的状态在资料上都有讲……你这个问题可比我的小多了,我现在是参数都配置ok了,就是发送不出去……
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯