标题: NRF24L01中reg_val = SPI_RW(0)的问题 [打印本页]

作者: 1860xq    时间: 2015-4-29 21:04
标题: NRF24L01中reg_val = SPI_RW(0)的问题
reg_val = SPI_RW(0)语句中的0应该等价与READ_REG+NRF_CONFIG吧,也就是读指令+指定寄存器,但reg_val = SPI_RW(0)为什么不是只读NRF_CONFIG寄存器的内容呢?

注:READ_REG=0x00
      NRF_CONFIG=0x00
作者: xiao_yp2014    时间: 2015-4-29 23:13
这个问题我来回答一下:
1、首先你要先弄明白那几个函数的作用,这个跟STM32一样的有现成的函数了,只需要明白怎么用就行了。
2、要操作NRF24L01要先明白SPI通信的过程,如何实现主从的数据交换?如何把从器件的数据读出来?
3、在调试NRF24L01的时候,千万不要一开始就收、发一起调试,要先调试发送,能成功发送数据再调试接收。
4、NRF24L01有接收应答和自动重发功能,那么没有接收如何才能调试发送呢?这里就要先关闭接收应答自动重发功能,这里如何关闭,我就不多说了,网上有资料,找一份看看吧。
5、关闭了上面两个功能,就可以单独调试发送了,没有接收端如何才能知道发送呢?NRF24L01芯片自带有寄存器,一但发送成功了,相应的寄存器会置1,就用软件去查询这个位,就知道了。
6、如果上面的发送端能够成功了,那就好办了,就让发送端一直发,不用管,现在安心的来调试接收端了、如果接收端设置正确,就会成功的接收到数据了。
7、收、发都能成功后,把上面两个关闭的功能打开,这样就完成了一次无线调试,是不是感觉非常的好。

说在后面:在调试无线的时候,一定不要收发一起调试,这个是很多初学者都会出现的问题。
作者: zhangajie20    时间: 2020-12-9 20:54
同问,求高手分析




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1