最近调试51+CC2420的程序,CC2420是买的模块,发现SPI口通信成功,发送端的CC2420的SFD引脚也有脉冲发出(个人认为根据这个可以断定发送端已经可以将数据发送出去),但接收端一点反应都没有,SFD引脚没动静,但多几次重复上电有时可看到周期性的信号,而FIFO引脚则一点动静都没有。panID=0x4523,destAddr = 0x7315。
通过回读内存验证地址也写进去了,即便地址不识别,SFD是不是也应该有个由高再变低的的波形啊,
浪费了很多时间内,有做过的请指点一二啊!
------解决方案--------------------------------------------------------
在数据传输过程中CSn必须始终保持低电平。
CC2420的硬件有address recognition的功能,如果没有给节点设置长地址,因此如果通信对端以长地址发包时,节点会不认这个包。 在mdmctrl0中对address recognition功能进行使能或者禁止。其实正常情况下,只要FIFOP管脚就可以了。FIFO管脚可以用来调试时候观测状态。只用FIFO和FIFOP来判断有没有数据过来就可以
------解决方案--------------------------------------------------------
在硬件没问题的情况下,问题很可能是出在你的CC2420的寄存器的配置上,比如频率,信号通道,地址。。。你最好把发送端和接收端两边寄存器的配置配成一样,这样就大大的提高你调试的成功率
------解决方案--------------------------------------------------------