你好,我想问一下您那个cc1101多信道的问题我只用了一台设备发送,第一个信道接收一次信息后,运行到下面的一个信道时(该信道的发送端未开启),就一直卡死在判断GDO0输出的while中,不能继续循环接收第一个信道的信息,请问这个您是怎么解决的呢,卡半个月了,不知道怎么办
因为你一直在等下一个信道,而下一个信道又没有发送,所以当然就一直卡死在那里了,这个是个逻辑问题。
你首先应该建立一个合理的通讯机制。你要多信道通讯,双方就要有可靠的信道切换协议。比如你这种情况,你切换了信道,对方却没有发送,你就一直在那里死等,这种方式显然就不合理,因为通讯出现异常是必须要考虑到的情况,而你对这种情况的处理方式就是死等,这显然不合理,因为对方可能在你等的时候已经切换到别的信道去发送了,而你显然也接收不到那个信道的。处理方式很多,比如,双方先对时,保证时间同步,然后按时间切换信道;或者又多个接收模块,每个负责接收一个信道,或者,双方必须在某个信道完成握手后再切换信道,或者其它方式。
好的,谢谢你啦