查看更多
看下 wm_ble_server_api_demo. c, 里面实现了 server 的例子, 在这个结构体里面定义了 UUID 以及属性以及对应的回调函数, 可以根据自己的应用情况加减属性以及修改 UUID, 如果是读写属性的, 收到相关事件后会直接调用 gatt_svr_chr_demo_access_func 这个回调函数, 在里面实现自己的操作, 如果是 notify, 直接用 tls_ble_server_demo_api_send_msg 接口发送数据就可以了.
发布 问题
分享 好友
手机 浏览
回到 顶部
感谢专家的指导, 现在正常的读写已经实现了, 但是对于描述属性的操作还有疑问, 通知属性只能触发订阅事件, 我想实现描述属性的读取, 这部分的操作应该加在哪里, 因为是自动包含的 CCCD, 所以它的回调函数在哪里? image. png
@demaricy 定义了 notify 或者 indicate 属性后, 协议栈会自动添加一个 0x2902 的 CCCD, 当手机端点了订阅后, 就可以读这个 CCCD 了, 返回的结果就是 notify 或者 indicate 是否 enable, 这个读取操作对于 W800 这端, 是协议栈自动回复的, 应用层不需要回调函数.
@demaricy 定义了 notify 或者 indicate 属性后, 协议栈会自动添加一个 0x2902 的可读属性的 CCCD, 当手机端 可以读取 CCCD 了, 返回的结果就是 notifv 或者 indicate 是否 enable, 这个读取操作对于 w888 这端是协议栈自动回复的, 应用层不需要回调函数.
@abcd 明白了, 谢谢