关注公众号

关注公众号

手机扫码查看

手机查看

喜欢作者

打赏方式

微信支付微信支付
支付宝支付支付宝支付
×

在Apollo2_ble 中添加一个service(二)

2020.10.05

并且将对应的头文件都包含进来:

图7

svc_hid.h里面声明了SvcHidRegister和SvcHidAddGroup,而hid_api.h里面声明了函数HidAttsWriteCback。

并不是所有的service都需要注册读写回调函数,只有当Attribute list中的Attribute settings项出现ATTS_SET_WRITE_CBACK。

或者ATTS_SET_READ_CBACK时才需要。

以fit工程为例,heart rate的Attribute list如下:

图8

最后一个attribute需要用到写回调,因此在fitstart函数中才需要注册写回调函数的入口。

看我们的service有没有添加成功,我们可以用手机打开蓝牙调试助手:

图9

下图10是未添加HID service时打开调试工具看到的服务列表,可以看见本来除了GAP(generic access profile)和GATT(generic attribute profile)外,有4个services,与我们在图5代码中所见一致,图11是我们添加代码后再打开测试工具看到的服务列表,可以看见HID service已经添加进去了。

图10

图11

参考文献:

[1] BLUETOOTH SPECIFICATION Version 4.2 [Vol 1, Part A] page 97

[2] bluetooth


推荐
热点排行
一周推荐
关闭