打印
[PSoC™]

关于CY8C6347LQI-BLD52之动态修改Scan Response Data相关问题

[复制链接]
66|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Burnon_FAE_2|  楼主 | 2024-4-30 14:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题现象:
目前需要动态调整Scan Response Data,发现了问题:
首先停蓝牙广播,更新广播数据,再开启广播这个过程,发现蓝牙广播成功停止,但是数据更新失败。Cy_BLE_GAPP_UpdateAdvScanData仍旧是CY_BLE_ERROR_INVALID_OPERATION;停广播后 Cy_BLE_StackGetBleSsState仍旧是DEEPSLEEP。并且这个函数的返回值不在SDK中定义的返回值列表中


解决方法:
[size=14.6667px]Please refer to below code to change Scan Response:

[size=14.6667px]cy_ble_configPtr-
>discoveryModeInfo[CY_BLE_PERIPHERAL_CONFIGURATION_0_INDEX].advData = &advdata;
cy_ble_configPtr-
>discoveryModeInfo[CY_BLE_PERIPHERAL_CONFIGURATION_0_INDEX].scanRspData =
&scanRspData;
/* Start Advertisement and enter discoverable mode */
Result = Cy_BLE_GAPP_UpdateAdvScanData(&cy_ble_configPtr-
>discoveryModeInfo[CY_BLE_PERIPHERAL_CONFIGURATION_0_INDEX]);
If (Result == CY_BLE_SUCCESS)
Cy_BLE_ProcessEvent();


[size=14.6667px]Where advdata and scanRspData are custom adv/scan response data array.

[size=14.6667px]The address of target data arrays can be directly assigned to cy_ble_configPtr-
>discoveryModeInfo[CY_BLE_PERIPHERAL_CONFIGURATION_0_INDEX].advData

[size=14.6667px]
If advertising is already on, Cy_BLE_GAPP_UpdateAdvScanData() can be
called. Otherwise, just call Cy_BLE_GAPP_StartAdvertisement after switching
data array point, and then Cy_BLE_GAPP_UpdateAdvScanData() can be called
inside it.



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

11

帖子

3

粉丝