蓝牙库函数应用咨询CH573
  1. GATTServApp_InitCharCfg( uint16 connHandle, gattCharCfg_t *charCfgTbl )

    例程代码: GATTServApp_InitCharCfg(INVALID_CONNHANDLE, simpleProfileChar4Config);

    ? ? ? ? ? ? ? ? ? static gattCharCfg_t simpleProfileChar4Config[4];

    这里的特征配置表数量4是如何计算出来的?每增加1个初级服务就要增加1对吗?另外句柄该如何正确设置?

  2. 例程代码:linkDB_Register(simpleProfile_HandleConnStatusCB);这个linkDB_Register函数具体的回调功能是用来干什么的?有的示例有,有的没有,而且回调函数代码内容又似乎完全一致,开发手册也没有介绍

  3. 官方是否有更详细的开发参考手册提供呢?另外麻烦发送下573蓝牙微信小程序Demo给我下:个人信息保护,已隐藏


上面的函数主要是处理自定义服务数据处理用的,回调函数一般是在有数据处理时进入。对于通道4的处理可以看一下

image.png

image.png

通道4的noti服务已经提供,直接使用就可以了。

handle句柄设置可以查看主机端central.c的最下面,通过uuid获取相应的handle值。

在EVT的BLE文件夹下面有一个开发手册,可以简单参考一下。

相应邮件已发送至邮箱,请查收。


结合技术支持的回答,经过查找资料,对于具有Notify权限的特征会多一个客户特征配置属性(属性表里的Characteristic 4 configuration),服务函数内的GATTServApp_InitCharCfg(INVALID_CONNHANDLE, simpleProfileChar4Config)用于对该客户特征配置属性初始化,至于为啥初始化4个结构体数组暂时还没搞明白,猜测是协议栈要求;linkDB_Register(simpleProfile_HandleConnStatusCB);该回调函数是用于处理连接断开后,再次调用上述函数对客户特征配置属性进行初始化


参考如图,

屏幕截图 2022-09-20 210459.pnghttps://blog.csdn.net/qq_26226375/article/details/114370896


只有登录才能回复,可以选择微信账号登录