2021/8/17 扩展包与周期广播

1.在37,38,39 广播通道发 ADV_EXT_IND,注意这时候的广播 没有开RX, 都是TX

2.发完ADV_EXT_IND之后,什么时候发AUX_ADV_IND。

3. Aux offset 怎么设置?

正常的话 ,每个广播通道对应不同 AUX OFFSET ,对于扫描就知道,什么时候发aux_offset,准备收就可以呀。

4.周期广播的时候,那怎么收adv_sync_ind?

这个时候需要注意,扩展包扫描窗口可以开小,但是扩展包扫描间隔必须大一点。

收到aux_adv_ind之后,

根据跳频算法,到相应通道去接收。

Interval 这个参数很重要,是两个adv_sync_ind的间隔时间

 5.对于周期广播事件与周期扫描事件,之间没有任何交互。那怎么能够做到一直保持同步呢?

对于广播者来说,它是按照 adv_ext_ind -> aux_adv_ind -> adv_sync_ind ....  发包顺序来弄。

但是对于扫描者,  在同步状态时候,正收 adv_sync_ind包时候,又要收其他的包像 adv_ext_ind和aux_adv_ind。 不得不说,协议栈太牛逼了。

从图上看,即使跨越不同广播事件,两个adv_sync_ind 还能保持一样的间隔,为周期扫描就能够一直扫描到这个adv_sync_ind。

这个真的特别棒。

6 . 既然能够 两个adv_sync_ind 保持一样间隔interval。那我还要 adv_ext_ind的间隔咋整?总不能光发 ad_sync_ind,不管adv_ext_ind的存在。

这时候,事件优先级派上用场。

既然是周期广播,那就要周期发adv_sync_ind,优先级为最高。而adv_ext_ind靠边站,这时候就会体现 两个adv_ext_ind的间隔会稍微变化与调整,来保证adv_sync_ind 的固定间隔。

周期扫描,同理。以扫到 adv_sync_ind为优先级最高,但是 扩展扫描也有间隔,哪咋办呢?

这时候就是把 扩展扫描 的优先级与周期扫描的优先级,差上好几个等级。发生冲突时候,每次增加扩展扫描的优先级,等扩展扫描优先级 超过 周期扫描 的,那就处理 扩展扫描,收adv_ext_ind,再收aux_adv_ind,再进入同步状态,再继续收同步包。 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值