BLE GATT Client
GATT Client 端 API(中心角色)。管理 Client 注册/注销、服务/特征/描述符发现、按句柄和 UUID 读写、Write Request/Write Command 以及 MTU 交换请求。
Client 端主动发现 Server 端公布的服务结构,根据句柄或 UUID 读写特征值和描述符。发现服务后才能知道有哪些 Characteristic 可以操作。
头文件清单
接口清单
接口名称 功能简述 gattc_register_client 注册GATT客户端 gattc_unregister_client 注销GATT客户端 gattc_discovery_service 发现远端GATT服务 gattc_discovery_character 发现远端GATT特征 gattc_discovery_descriptor 发现远端GATT特征描述符 gattc_read_req_by_handle 按照句柄发起读取请求 gattc_read_req_by_uuid 按照UUID发起读取请求 gattc_write_req 发起写请求 gattc_write_cmd 发起写命令 gattc_exchange_mtu_req 发送交换MTU请求 gattc_register_callbacks 注册GATT客户端回调函数
Functions
gattc_register_client
头文件清单
功能说明
- 注册GATT客户端,向协议栈申请客户端资源并分配客户端ID
- 注册成功后,通过出参client_id返回分配的客户端标识,后续所有GATT Client操作均需携带该ID
- 同一应用可通过不同的app_uuid注册多个客户端实例
前置条件
- BLE协议栈已初始化完成,enable_ble()已调用成功
- app_uuid指向的内存空间已申请成功且uuid_len与uuid字段已正确赋值
入参
名称 参数类型 详细说明 约束取值范围 app_uuid bt_uuid_t * 上层应用UUID,用于标识客户端应用 uuid_len取值参考uuid_type_t
出参
名称 数据类型 输出说明 client_id uint8_t * 分配的客户端ID,用于后续GATT Client操作标识
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 客户端注册成功 Other 其他错误码,参考errcode_t 执行失败
参考案例
src/application/samples/bt/ble/ble_wifi_cfg_client/src/ble_wifi_cfg_client.csrc/application/samples/bt/ble/ble_speed_client/src/ble_speed_client.cvendor/BearPi-Pico_H3863/products/ble_uart/ble_uart_client/ble_uart_client.c
gattc_unregister_client
头文件清单
功能说明
- 注销已注册的GATT客户端,释放协议栈分配的客户端资源
- 注销后该client_id不再有效,后续使用该ID的操作将返回错误
- 应在断开所有连接后调用此接口注销客户端
前置条件
- 已通过gattc_register_client()成功注册客户端,获得有效的client_id
入参
名称 参数类型 详细说明 约束取值范围 client_id uint8_t 客户端ID gattc_register_client()分配的有效ID
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 客户端注销成功 Other 其他错误码,参考errcode_t 执行失败
gattc_discovery_service
头文件清单
功能说明
- 向远端GATT Server发起服务发现请求
- 若uuid长度为0,发现所有服务;否则按uuid过滤发现指定服务
- 发现结果通过gattc_discovery_service_callback和gattc_discovery_service_complete_callback回调异步返回
前置条件
- 已通过gattc_register_client()成功注册客户端,获得有效的client_id
- 已与远端设备建立BLE连接,conn_id为有效的连接标识
- 已通过gattc_register_callbacks()注册回调函数,用于接收发现结果
入参
名称 参数类型 详细说明 约束取值范围 client_id uint8_t 客户端ID gattc_register_client()分配的有效ID conn_id uint16_t 连接ID 已建立的BLE连接标识 uuid bt_uuid_t * 服务UUID,uuid长度为0时发现所有服务 uuid_len取值参考uuid_type_t
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_t 请求发起失败
参考案例
src/application/samples/bt/ble/ble_wifi_cfg_client/src/ble_wifi_cfg_client.csrc/application/samples/bt/ble/ble_speed_client/src/ble_speed_client.cvendor/BearPi-Pico_H3863/products/ble_uart/ble_uart_client/ble_uart_client.c
gattc_discovery_character
errcode_t gattc_discovery_character(uint8_t client_id, uint16_t conn_id, gattc_discovery_character_param_t *param)
头文件清单
功能说明
- 向远端GATT Server发起特征发现请求,发现指定服务下的特征
- 若param中uuid长度为0,发现该服务内所有特征;否则按uuid过滤发现指定特征
- 发现结果通过gattc_discovery_character_callback和gattc_discovery_character_complete_callback回调异步返回
前置条件
- 已通过gattc_discovery_service()完成服务发现,获得有效的service_handle
- 已与远端设备建立BLE连接,conn_id为有效的连接标识
- 已通过gattc_register_callbacks()注册回调函数,用于接收发现结果
入参
名称 参数类型 详细说明 约束取值范围 client_id uint8_t 客户端ID gattc_register_client()分配的有效ID conn_id uint16_t 连接ID 已建立的BLE连接标识 param gattc_discovery_character_param_t * 发现特征参数 service_handle为服务发现返回的起始句柄
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_t 请求发起失败
参考案例
src/application/samples/bt/ble/ble_wifi_cfg_client/src/ble_wifi_cfg_client.csrc/application/samples/bt/ble/ble_speed_client/src/ble_speed_client.cvendor/BearPi-Pico_H3863/products/ble_uart/ble_uart_client/ble_uart_client.c
gattc_discovery_descriptor
errcode_t gattc_discovery_descriptor(uint8_t client_id, uint16_t conn_id, uint16_t character_handle)
头文件清单
功能说明
- 向远端GATT Server发起特征描述符发现请求
- 发现结果通过gattc_discovery_descriptor_callback和gattc_discovery_descriptor_complete_callback回调异步返回
- 用于获取特征的配置描述符(如CCCD)等信息
前置条件
- 已通过gattc_discovery_character()完成特征发现,获得有效的character_handle
- 已与远端设备建立BLE连接,conn_id为有效的连接标识
- 已通过gattc_register_callbacks()注册回调函数,用于接收发现结果
入参
名称 参数类型 详细说明 约束取值范围 client_id uint8_t 客户端ID gattc_register_client()分配的有效ID conn_id uint16_t 连接ID 已建立的BLE连接标识 character_handle uint16_t 特征声明句柄 gattc_discovery_character()返回的declare_handle
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_t 请求发起失败
参考案例
src/application/samples/bt/ble/ble_wifi_cfg_client/src/ble_wifi_cfg_client.csrc/application/samples/bt/ble/ble_speed_client/src/ble_speed_client.cvendor/BearPi-Pico_H3863/products/ble_uart/ble_uart_client/ble_uart_client.c
gattc_read_req_by_handle
头文件清单
功能说明
- 向远端GATT Server按照属性句柄发起读取请求
- 读取结果通过gattc_read_cfm_callback回调异步返回
- 请求需要对端响应确认,属于确认型读取操作
前置条件
- 已通过gattc_discovery_character()或gattc_discovery_descriptor()获得有效的属性句柄
- 已与远端设备建立BLE连接,conn_id为有效的连接标识
- 已通过gattc_register_callbacks()注册回调函数,用于接收读取结果
入参
名称 参数类型 详细说明 约束取值范围 client_id uint8_t 客户端ID gattc_register_client()分配的有效ID conn_id uint16_t 连接ID 已建立的BLE连接标识 handle uint16_t 属性句柄 服务发现或特征发现返回的有效句柄
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_t 请求发起失败
gattc_read_req_by_uuid
errcode_t gattc_read_req_by_uuid(uint8_t client_id, uint16_t conn_id, gattc_read_req_by_uuid_param_t *param)
头文件清单
功能说明
- 向远端GATT Server按照UUID发起读取请求,在指定句柄范围内查找匹配UUID的属性值
- 读取结果通过gattc_read_cfm_callback和gattc_read_by_uuid_complete_callback回调异步返回
- 请求需要对端响应确认,属于确认型读取操作
前置条件
- 已与远端设备建立BLE连接,conn_id为有效的连接标识
- param中start_hdl和end_hdl指定了有效的句柄范围
- 已通过gattc_register_callbacks()注册回调函数,用于接收读取结果
入参
名称 参数类型 详细说明 约束取值范围 client_id uint8_t 客户端ID gattc_register_client()分配的有效ID conn_id uint16_t 连接ID 已建立的BLE连接标识 param gattc_read_req_by_uuid_param_t * 按UUID读取请求参数 start_hdl和end_hdl为有效句柄范围
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_t 请求发起失败
参考案例
vendor/BearPi-Pico_H3863/products/ble_uart/ble_uart_client/ble_uart_client.c
gattc_write_req
头文件清单
功能说明
- 向远端GATT Server发起写请求,需要对端响应确认
- 写入结果通过gattc_write_cfm_callback回调异步返回
- 适用于需要对端确认写入结果的场景
前置条件
- 已通过服务发现或特征发现获得有效的属性句柄
- 已与远端设备建立BLE连接,conn_id为有效的连接标识
- 已通过gattc_register_callbacks()注册回调函数,用于接收写入结果
入参
名称 参数类型 详细说明 约束取值范围 client_id uint8_t 客户端ID gattc_register_client()分配的有效ID conn_id uint16_t 连接ID 已建立的BLE连接标识 param gattc_handle_value_t * 写请求参数 handle为有效属性句柄,data_len不超过当前MTU限制
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_t 请求发起失败
gattc_write_cmd
头文件清单
功能说明
- 向远端GATT Server发起写命令,无需对端响应确认
- 该接口不触发gattc_write_cfm_callback回调,属于无确认型写入操作
- 适用于对写入可靠性要求不高但需要快速发送数据的场景
前置条件
- 已通过服务发现或特征发现获得有效的属性句柄
- 已与远端设备建立BLE连接,conn_id为有效的连接标识
- param中handle为有效属性句柄,data指向的内存空间已申请成功
入参
名称 参数类型 详细说明 约束取值范围 client_id uint8_t 客户端ID gattc_register_client()分配的有效ID conn_id uint16_t 连接ID 已建立的BLE连接标识 param gattc_handle_value_t * 写命令参数 handle为有效属性句柄,data_len不超过当前MTU限制
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 命令成功发起 Other 其他错误码,参考errcode_t 命令发起失败
参考案例
vendor/BearPi-Pico_H3863/products/ble_uart/ble_uart_client/ble_uart_client.cvendor/Hqyj_Ws63/Farsight/ble_01_trans_client/ble_client.c
gattc_exchange_mtu_req
头文件清单
功能说明
- 向远端GATT Server发送交换MTU请求,协商后续通信的最大传输单元
- MTU协商结果通过gattc_mtu_changed_callback回调异步返回
- 协商后的实际MTU为双方支持值的较小值
前置条件
- 已与远端设备建立BLE连接,conn_id为有效的连接标识
- mtu_size在协议允许范围内,取值范围[SDK_BLE_MTU_MIN, SDK_BLE_MTU_MAX]
入参
名称 参数类型 详细说明 约束取值范围 client_id uint8_t 客户端ID gattc_register_client()分配的有效ID conn_id uint16_t 连接ID 已建立的BLE连接标识 mtu_size uint16_t 客户端接收MTU大小 [23, 517],即[SDK_BLE_MTU_MIN, SDK_BLE_MTU_MAX]
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 请求成功发起 Other 其他错误码,参考errcode_t 请求发起失败
参考案例
src/application/samples/bt/ble/ble_wifi_cfg_client/src/ble_wifi_cfg_client.csrc/application/samples/bt/ble/ble_speed_server/src/ble_speed_server.cvendor/BearPi-Pico_H3863/products/ble_uart/ble_uart_client/ble_uart_client.c
gattc_register_callbacks
头文件清单
功能说明
- 注册GATT客户端回调函数集合,用于接收服务发现、特征发现、读写操作、MTU变更、通知及指示等异步结果
- 回调函数运行于BTS线程,不可阻塞或长时间等待
- 回调中涉及的内存在BTS线程中自动申请和释放,回调中不应释放
前置条件
- BLE协议栈已初始化完成,enable_ble()已调用成功
- func指向的回调函数结构体已正确赋值所有成员
入参
名称 参数类型 详细说明 约束取值范围 func gattc_callbacks_t * 回调函数结构体指针 各回调成员函数指针已正确赋值
返回值
返回值 文字含义 触发场景 ERRCODE_SUCC(0x00) 执行成功 回调注册成功 Other 其他错误码,参考errcode_t 注册失败
参考案例
src/application/samples/bt/ble/ble_wifi_cfg_client/src/ble_wifi_cfg_client.csrc/application/samples/bt/ble/ble_speed_client/src/ble_speed_client.cvendor/BearPi-Pico_H3863/products/ble_uart/ble_uart_client/ble_uart_client.c
Type definitions
errcode_t
使用说明:作为GATT Client所有接口的返回值类型,用于表示接口调用的执行结果
Enumerations
uuid_type_t
typedef enum {
UUID_TYPE_NULL = 0x00, /*!< 空uuid。 */
UUID_TYPE_16_BIT, /*!< 16bit长度的uuid。 */
UUID_TYPE_32_BIT, /*!< 32bit长度的uuid。 */
UUID_TYPE_128_BIT, /*!< 128bit长度的uuid。 */
} uuid_type_t;
枚举成员 取值 描述 UUID_TYPE_NULL 0x00 空UUID UUID_TYPE_16_BIT 0x01 16bit长度的UUID UUID_TYPE_32_BIT 0x02 32bit长度的UUID UUID_TYPE_128_BIT 0x03 128bit长度的UUID
gatt_characteristic_property_t
typedef enum {
GATT_CHARACTER_PROPERTY_BIT_BROADCAST = 0x01, /*!< 广播特征值 */
GATT_CHARACTER_PROPERTY_BIT_READ = 0x02, /*!< 读特征值 */
GATT_CHARACTER_PROPERTY_BIT_WRITE_NO_RSP = 0x04, /*!< 写特征值并且不需要响应 */
GATT_CHARACTER_PROPERTY_BIT_WRITE = 0x08, /*!< 写特征值 */
GATT_CHARACTER_PROPERTY_BIT_NOTIFY = 0x10, /*!< 通知特征值 */
GATT_CHARACTER_PROPERTY_BIT_INDICATE = 0x20, /*!< 指示特征值 */
GATT_CHARACTER_PROPERTY_BIT_SIGNED_WRITE = 0x40, /*!< 签名写特征值 */
GATT_CHARACTER_PROPERTY_BIT_EXTENDED_PROPERTY = 0x80, /*!< 在特征扩展特性描述符中定义了附加的特征特性 */
} gatt_characteristic_property_t;
枚举成员 取值 描述 GATT_CHARACTER_PROPERTY_BIT_BROADCAST 0x01 广播特征值 GATT_CHARACTER_PROPERTY_BIT_READ 0x02 读特征值 GATT_CHARACTER_PROPERTY_BIT_WRITE_NO_RSP 0x04 写特征值并且不需要响应 GATT_CHARACTER_PROPERTY_BIT_WRITE 0x08 写特征值 GATT_CHARACTER_PROPERTY_BIT_NOTIFY 0x10 通知特征值 GATT_CHARACTER_PROPERTY_BIT_INDICATE 0x20 指示特征值 GATT_CHARACTER_PROPERTY_BIT_SIGNED_WRITE 0x40 签名写特征值 GATT_CHARACTER_PROPERTY_BIT_EXTENDED_PROPERTY 0x80 在特征扩展特性描述符中定义了附加的特征特性
gatt_status_t
typedef enum {
GATT_STATUS_SUCCESS = 0x00, /*!< 执行成功错误码 */
GATT_STATUS_INVALID_HANDLE = 0x01, /*!< 无效handle错误码 */
GATT_STATUS_READ_NOT_PERMITTED = 0x02, /*!< 不可读错误码 */
GATT_STATUS_WRITE_NOT_PERMITTED = 0x03, /*!< 不可写错误码 */
GATT_STATUS_INVALID_PDU = 0x04, /*!< 无效PDU错误码 */
GATT_STATUS_INSUFFICIENT_AUTHENTICATION = 0x05, /*!< 未认证的读写错误码 */
GATT_STATUS_REQUEST_NOT_SUPPORTED = 0x06, /*!< 不支持client发送的请求 */
GATT_STATUS_INVALID_OFFSET = 0x07, /*!< 无效偏移的读写错误码 */
GATT_STATUS_INSUFFICIENT_AUTHORIZATION = 0x08, /*!< 未授权错误码 */
GATT_STATUS_PREPARE_QUEUE_FULL = 0x09, /*!< 排队的prepare writes太多,队列已满错误码 */
GATT_STATUS_ATTRIBUTE_NOT_FOUND = 0x0A, /*!< 属性未找到错误码 */
GATT_STATUS_ATTRIBUTE_NOT_LONG = 0x0B, /*!< 该attribute不是long attribute, 不能使用ATT_READ_BLOB_REQ PDU */
GATT_STATUS_INSUFFICIENT_ENCRYPTION_KEY_SIZE = 0x0C, /*!< 用于加密此连接的加密密钥大小不足 */
GATT_STATUS_INVALID_ATTRIBUTE_VALUE_LENGTH = 0x0D, /*!< 无效的属性值长度 */
GATT_STATUS_UNLIKELY_ERROR = 0x0E, /*!< 不可能的错误码 */
GATT_STATUS_INSUFFICIENT_ENCRYPTION = 0x0F, /*!< 加密不足错误码 */
GATT_STATUS_UNSUPPORTED_GROUP_TYPE = 0x10, /*!< 不支持的grouping attribute错误码 */
GATT_STATUS_INSUFFICIENT_RESOURCES = 0x11, /*!< 资源不足错误码 */
GATT_STATUS_DATABASE_OUT_OF_SYNC = 0x12, /*!< 服务端与客户端未同步数据库错误码 */
GATT_STATUS_VALUE_NOT_ALLOWED = 0x13, /*!< 非法的参数值错误码 */
} gatt_status_t;
枚举成员 取值 描述 GATT_STATUS_SUCCESS 0x00 执行成功 GATT_STATUS_INVALID_HANDLE 0x01 无效句柄 GATT_STATUS_READ_NOT_PERMITTED 0x02 不可读 GATT_STATUS_WRITE_NOT_PERMITTED 0x03 不可写 GATT_STATUS_INVALID_PDU 0x04 无效PDU GATT_STATUS_INSUFFICIENT_AUTHENTICATION 0x05 未认证的读写 GATT_STATUS_REQUEST_NOT_SUPPORTED 0x06 不支持client发送的请求 GATT_STATUS_INVALID_OFFSET 0x07 无效偏移的读写 GATT_STATUS_INSUFFICIENT_AUTHORIZATION 0x08 未授权 GATT_STATUS_PREPARE_QUEUE_FULL 0x09 排队队列已满 GATT_STATUS_ATTRIBUTE_NOT_FOUND 0x0A 属性未找到 GATT_STATUS_ATTRIBUTE_NOT_LONG 0x0B 非long attribute GATT_STATUS_INSUFFICIENT_ENCRYPTION_KEY_SIZE 0x0C 加密密钥大小不足 GATT_STATUS_INVALID_ATTRIBUTE_VALUE_LENGTH 0x0D 无效属性值长度 GATT_STATUS_UNLIKELY_ERROR 0x0E 不可能的错误 GATT_STATUS_INSUFFICIENT_ENCRYPTION 0x0F 加密不足 GATT_STATUS_UNSUPPORTED_GROUP_TYPE 0x10 不支持的grouping attribute GATT_STATUS_INSUFFICIENT_RESOURCES 0x11 资源不足 GATT_STATUS_DATABASE_OUT_OF_SYNC 0x12 数据库未同步 GATT_STATUS_VALUE_NOT_ALLOWED 0x13 非法的参数值
Structures
bt_uuid_t
typedef struct {
uint8_t uuid_len; /*!< UUID长度。 */
uint8_t uuid[BT_UUID_MAX_LEN]; /*!< UUID字段。 */
} bt_uuid_t;
成员说明:
成员名称 数据类型 描述 uuid_len uint8_t UUID长度,取值参考uuid_type_t uuid uint8_t[BT_UUID_MAX_LEN] UUID字段,BT_UUID_MAX_LEN为16字节
gattc_handle_value_t
typedef struct {
uint16_t handle; /*!< 属性句柄。 */
uint16_t data_len; /*!< 数据长度。 */
uint8_t *data; /*!< 数据。 */
} gattc_handle_value_t;
成员说明:
成员名称 数据类型 描述 handle uint16_t 属性句柄 data_len uint16_t 数据长度 data uint8_t * 数据指针
gattc_discovery_character_param_t
typedef struct {
uint16_t service_handle; /*!< 服务起始句柄。 */
bt_uuid_t uuid; /*!< 特征uuid,如果uuid长度为0,发现服务内的所有特征,否则按照uuid过滤。 */
} gattc_discovery_character_param_t;
成员说明:
成员名称 数据类型 描述 service_handle uint16_t 服务起始句柄 uuid bt_uuid_t 特征UUID,uuid长度为0时发现所有特征,否则按UUID过滤
gattc_discovery_service_result_t
typedef struct {
uint16_t start_hdl; /*!< 服务起始句柄。 */
uint16_t end_hdl; /*!< 服务结束句柄。 */
bt_uuid_t uuid; /*!< 服务uuid。 */
} gattc_discovery_service_result_t;
成员说明:
成员名称 数据类型 描述 start_hdl uint16_t 服务起始句柄 end_hdl uint16_t 服务结束句柄 uuid bt_uuid_t 服务UUID
gattc_discovery_character_result_t
typedef struct {
bt_uuid_t uuid; /*!< 特征uuid。 */
uint16_t declare_handle; /*!< 特征声明句柄。 */
uint16_t value_handle; /*!< 特征值句柄。 */
uint8_t properties; /*!< 特征特性,参考gatt_characteristic_property_t。 */
} gattc_discovery_character_result_t;
成员说明:
成员名称 数据类型 描述 uuid bt_uuid_t 特征UUID declare_handle uint16_t 特征声明句柄 value_handle uint16_t 特征值句柄 properties uint8_t 特征特性,取值参考gatt_characteristic_property_t
gattc_discovery_descriptor_result_t
typedef struct {
uint16_t descriptor_hdl; /*!< 特征描述符句柄。 */
bt_uuid_t uuid; /*!< 特征描述符uuid。 */
} gattc_discovery_descriptor_result_t;
成员说明:
成员名称 数据类型 描述 descriptor_hdl uint16_t 特征描述符句柄 uuid bt_uuid_t 特征描述符UUID
gattc_read_req_by_uuid_param_t
typedef struct {
uint16_t start_hdl; /*!< 起始句柄。 */
uint16_t end_hdl; /*!< 结束句柄。 */
bt_uuid_t uuid; /*!< uuid。 */
} gattc_read_req_by_uuid_param_t;
成员说明:
成员名称 数据类型 描述 start_hdl uint16_t 起始句柄 end_hdl uint16_t 结束句柄 uuid bt_uuid_t UUID
gattc_callbacks_t
typedef struct ble_gattc_callbacks {
gattc_discovery_service_callback discovery_svc_cb; /*!< 发现服务回调函数。 */
gattc_discovery_service_complete_callback discovery_svc_cmp_cb; /*!< 发现服务完成回调函数。 */
gattc_discovery_character_callback discovery_chara_cb; /*!< 发现特征回调函数。 */
gattc_discovery_character_complete_callback discovery_chara_cmp_cb; /*!< 发现特征完成回调函数。 */
gattc_discovery_descriptor_callback discovery_desc_cb; /*!< 发现特征描述符回调函数。 */
gattc_discovery_descriptor_complete_callback discovery_desc_cmp_cb; /*!< 发现特征描述符完成回调函数。 */
gattc_read_cfm_callback read_cb; /*!< 收到读响应回调函数。 */
gattc_read_by_uuid_complete_callback read_cmp_cb; /*!< 按照uuid读取完成回调函数。 */
gattc_write_cfm_callback write_cb; /*!< 收到写响应回调函数。 */
gattc_mtu_changed_callback mtu_changed_cb; /*!< mtu改变回调函数,serverId作为预留参数,固定为0。 */
gattc_notification_callback notification_cb; /*!< 收到通知回调函数。 */
gattc_indication_callback indication_cb; /*!< 收到指示回调函数。 */
} gattc_callbacks_t;
成员说明:
成员名称 数据类型 描述 discovery_svc_cb gattc_discovery_service_callback 发现服务回调函数 discovery_svc_cmp_cb gattc_discovery_service_complete_callback 发现服务完成回调函数 discovery_chara_cb gattc_discovery_character_callback 发现特征回调函数 discovery_chara_cmp_cb gattc_discovery_character_complete_callback 发现特征完成回调函数 discovery_desc_cb gattc_discovery_descriptor_callback 发现特征描述符回调函数 discovery_desc_cmp_cb gattc_discovery_descriptor_complete_callback 发现特征描述符完成回调函数 read_cb gattc_read_cfm_callback 收到读响应回调函数 read_cmp_cb gattc_read_by_uuid_complete_callback 按照uuid读取完成回调函数 write_cb gattc_write_cfm_callback 收到写响应回调函数 mtu_changed_cb gattc_mtu_changed_callback MTU改变回调函数 notification_cb gattc_notification_callback 收到通知回调函数 indication_cb gattc_indication_callback 收到指示回调函数