esp32-c3 例程esp-idf-v4.4中gatt_client作为主机模式,连接从机的注册方式怎么改成indicate方式[已解决]
Posted: Thu May 12, 2022 9:47 am
在esp32-c3 例程esp-idf-v4.4中gatt_client作为主机模式,连接从机的注册方式怎么改成indicate方式?
例程中定义了NOTIFY的UUID
//#define REMOTE_SERVICE_UUID 0x00FF
//#define REMOTE_NOTIFY_CHAR_UUID 0xFF01
现在想使用esp32-c3 作为客户端通过indicate的方式链接 蓝牙服务端模块,例程只是描述了NOTIFY的方式,这种方式读写是在一个UUID上的,但是indicate的读写和特征描述都是在不同的UUID上,请问作为客户端模式下怎么使用indicate的方式 蓝牙服务端模块,同时能够实现读写操作?
例程中定义了NOTIFY的UUID
//#define REMOTE_SERVICE_UUID 0x00FF
//#define REMOTE_NOTIFY_CHAR_UUID 0xFF01
现在想使用esp32-c3 作为客户端通过indicate的方式链接 蓝牙服务端模块,例程只是描述了NOTIFY的方式,这种方式读写是在一个UUID上的,但是indicate的读写和特征描述都是在不同的UUID上,请问作为客户端模式下怎么使用indicate的方式 蓝牙服务端模块,同时能够实现读写操作?
- status = esp_ble_gattc_get_char_by_uuid( gattc_if,
- p_data->search_cmpl.conn_id,
- gl_profile_tab[PROFILE_A_APP_ID].service_start_handle,
- gl_profile_tab[PROFILE_A_APP_ID].service_end_handle,
- remote_filter_char_uuid,
- char_elem_result,
- &count);
- if (status != ESP_GATT_OK){
- ESP_LOGE(GATTC_TAG, "esp_ble_gattc_get_char_by_uuid error");
- }
- /* Every service have only one char in our 'ESP_GATTS_DEMO' demo, so we used first 'char_elem_result' */
- if (count > 0 && (char_elem_result[0].properties & ESP_GATT_CHAR_PROP_BIT_NOTIFY)){
- gl_profile_tab[PROFILE_A_APP_ID].char_handle = char_elem_result[0].char_handle;
- [color=#FF0000] esp_ble_gattc_register_for_notify (gattc_if, gl_profile_tab[PROFILE_A_APP_ID].remote_bda, char_elem_result[0].char_handle);
- //此处怎么怎么更改?[/color]
- }