目前正在使用RF PHY开发私有2.4g接口,在使用中尤其是跳频方面遇到了以下疑问,望解答:
库里有函数RF_BondingErase(),但rfconfig中却没有相应的bonding配置项,请问该如何bonding呢?
跳频相关的参数HeartPeriod、HopPeriod、HopIndex是如何工作的?其中的HopPeriod的单位又是什么?函数的注释看的云里雾里。
目前正在使用RF PHY开发私有2.4g接口,在使用中尤其是跳频方面遇到了以下疑问,望解答:
库里有函数RF_BondingErase(),但rfconfig中却没有相应的bonding配置项,请问该如何bonding呢?
跳频相关的参数HeartPeriod、HopPeriod、HopIndex是如何工作的?其中的HopPeriod的单位又是什么?函数的注释看的云里雾里。
我们这个2.4G是用了BLE的PHY进行直接RF收发,没有蓝牙协议规定的绑定协议,2.4G所谓的绑定都是自定义的,比如我们的2.4G在初始化时通道,通讯频率,接入地址等信息一样,2个芯片RF就可以互通。
我们提供的跳频就是固定时间发送心跳进行两边握手,如果心跳握手成功,就可以根据预设的通道进行跳频。
跳频的参数主要是下面几个
请问预设的通道需要怎么操作呢?比如手动修改rfConfig.Channel?
@TECH13,感谢回复,不过仍然没有解决我的疑惑:
1.可以理解绑定操作需要在应用层实现,但既然这样RF_BondingErase()的作用具体是什么?
2.所以跳频的机制与RF_FrequencyHoppingTx()以及RF_FrequencyHoppingRx()完全无关,完全由controller实现,这两个函数只是用来让应用能够寻找到一个收/发双方共同的频道?
3.假设HopPeriod的值为8,那么实际跳频间隔是32*8*31.25us,这样理解对吗?
4.RF_FrequencyHoppingShut()实际上取消的是2.的操作还是controller的跳频?
5.为什么我在调用RF_FrequencyHoppingShut()之后,如果应用一直不发包,会在调用之后的约8~12秒(通过rtc时钟计数,时间不固定)收到事件RX_MODE_HOP_SHUT和TX_MODE_HOP_SHUT?
望进一步解答,感谢。