遥控器项目,双向的,所以选用CC2500。发现CC2500运行一段时间(几小时或一晚上),时间有长有短,CC2500经常死机。后来测试发现CC2500进入了IDLE状态,程序中正常应该是RX状态的。检查RX_BUF和TX_BUF都是空的。 我觉得应该是我的程序问题,但一直找不到原因。每次发送和接收后都让CC2500进入接收状态的。接收到信号后,也清除RX_BUF,再进入接收状态的。 我自己考虑可能有几个原因: 1. 时序冲突?比如发送后要等发送成功后再清除TX_BUF,再进入RX状态。我检查程序,没有发现冲突。 2. CC2500设置问题?我现在设置是收发后CC2500进入IDle状态(默认状态)。 所以在这里请教各位可能是啥问题? 实在找不到原因只能定时检查CC2500的状态,发现异常再给CC2500复位了。不过找不到原因,用这个土办法,感觉丢人啊!!!
另外我还尝试让CC2500在接收和发送后自动进入RX状态,结果更奇怪的事情出来了,CC2500运行没有多少时间(几分钟)就死机,检查发现CC2500的状态竟然对的,在RX状态(状态码0x0D=13),但接收不到任何信号,RX_BUF和TX_BUF都是空的,也是对的。重新启动CC2500又正常了! 请问为何CC2500在接受状态,收不到信号?
|