|
本帖最后由 skypup 于 2014-5-27 23:47 编辑
在网上搜了一下,有了一点儿思路,不知是否有参考价值:
1 发射器Bind时,使用一个指定的频率或多个指定的频率依次尝试与接收器通讯。频率由 RF_CH 寄存器确定。
2 如果通讯成功,接收器记录下发射器的地址 setRADDR 到新地址。
3 开始尝试找一个干净的频率,用 configRegister 来改变 RF_CH。
4 找到合适的频率后,记录到 EEPROM;configRegister 改变 EN_AA、EN_RXADDR、SETUP_RETR,对频完成,开始收发遥控数据。
5 发射器,等到 isSending 为假时,setTADDR,再 Send.
6 接收器,使用中断,先 detachInterrupt、再 sei 以免影响用于 PWM 输出的定时器中断, 如果 dataReady 为真则 getData,清空缓冲区 rxFifoEmpty, 调用协议处理子函数, 最后 attachInterrupt。
|
|