CN / EN
CN / EN

写技术文章

BLE 多业务场景下开启失败的常见问题分析

天狼无星

汇顶员工
2022-05-23 10:34:34

BLE 多业务场景下开启失败的常见问题分析:

问题描述:

用户在开发过程中可能经常会遇到一些多业务场景下,协议栈报错的问题。比如有如下场景:

(1)广播开成功之后,再去开启扫描,结果扫描开启失败;

(2)建立连接之后,再开启广播,结果广播开启失败;

(3)建立连接之后,再开启扫描,结果扫描开启失败;


原因分析:

GR551x协议栈初始化之后,用户在发起广播、扫描、连接等操作时,协议栈首先会检查是否需要先执行设备配置流程,该配置流程在有ble业务(广播、扫描、连接)存在的情况下是不允许重复执行的。

其中以下接口属于设备配置信息,调用之后会导致协议栈执行设备配置流程,所以在使用过程中请确保不要重复多次调用。

ble_gap_pair_enable

ble_gap_irk_set

ble_gap_privacy_params_set

ble_gap_data_length_set

ble_gap_l2cap_params_set

ble_gap_pref_phy_set

ble_gap_addr_set

ble_gap_device_name_set


比如用户当前已经开启了一个广播,然后调用了ble_gap_addr_set之后又去开启一个扫描,由于协议栈重走设备配置流程并且会失败,就会导致该次的扫描也会开启失败。

1收藏

5赞成

您的评论
我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注