你好对话框,
我在SDK_10.0.10.118 /项目/ dk_apps /功能中测试“ble_central”示例/。我不明白迄今为止宏“CFG_USE_BROWSE_API”宏在“BLE_CENTRAL_TASK.C”中使用了什么。我理解的唯一区别是,如果它已启用,则调用“browse_svc”和“browse_completed”功能,并显示服务,如果宏禁用“发现”函数调用。从UART输出,我可以看到服务显示宏被禁用或启用。你能解释一下宏是否有用的情况。启用宏并禁用时发生了什么?浏览和发现之间有什么区别?
提前致谢。
问候,
普拉斯坦娜
设备:
浏览API不会构造并保留有关Peer Gatt数据库的信息;Discovery API将为以后使用它。在“实际”实现中,您希望保留至少一些数据库句柄,以便您可以与对等设备进行交互。
/ mhv.
你好mhv_dialog,
感谢您的答复。究竟是什么保留信息?您的意思是下次与远程设备连接时,对等设备GATT数据库有一些关于远程设备服务的存储信息?您是否可以澄清对等设备存储的数据类型?
谢谢
普拉斯坦娜
不完全; o)
我们只保留了连接的持续时间。如果我们需要在我们进行服务发现后,我们需要与对等设备接口的有用。说外围设备有一个LED,当用户按下中央按钮时,我们可以按需开启或关闭。我们可以通过写入外围设备提供的特征来完成此操作。我们需要将句柄与特性值字段进行写入。因为我们在发现期间保留了对特征的句柄,所以当我们需要它时,我们有那些信息友好 - 就像用户按下禁止按钮时一样。我希望这可以清除它。
您可以将外围设备视为服务(托管)数据库。要使用此数据库,客户端,我们的中央设备在这种情况下,将使用发现检索键或索引(处理)到数据库条目。该发现还告诉客户端(我们的案例中的中心)它可以使用这些数据库字段 - 读取,写入等。
/ mhv.