乐鑫技术交流
直播中

wufan931111

10年用户 1170经验值
擅长:370217
私信 关注
[问答]

蓝牙中开启自定义服务之后,添加了一个子服务,怎么添加第二子服务啊?

蓝牙中开启自定义服务之后,添加了一个子服务,怎么添加第二子服务啊

[img]https://www.esp32.com/[attachment=0]Screenshot_20211126_114504_no.nordicsemi.android.mcp.jpg.jpg[/attachment][/img]

按照我的理解,在创建第一个子服务时候,改变属性以及UUID后再添加一次就可以,但是不行啊;
Code: Select all
    case ESP_GATTS_CREATE_EVT:
        ESP_LOGE(GATTS_TAG, "CREATE_SERVICE_EVT, status %d,  service_handle %d
", param->create.status, param->create.service_handle);
        // ESP_LOGI(GATTS_TAG, "CREATE_SERVICE_EVT, status %d,  service_handle %d
", param->create.status, param->create.service_handle);
        gl_profile_tab[PROFILE_A_APP_ID].service_handle = param->create.service_handle;
        gl_profile_tab[PROFILE_A_APP_ID].char_uuid.len = ESP_UUID_LEN_128;
        // gl_profile_tab[PROFILE_A_APP_ID].char_uuid.uuid.uuid16 = GATTS_CHAR_UUID_TEST_A;
        for (int i = 0; i < 16; i++)
        {
            /* code */
            gl_profile_tab[PROFILE_A_APP_ID].char_uuid.uuid.uuid128 = adv_service_uuid128;
        }
        

        esp_ble_gatts_start_service(gl_profile_tab[PROFILE_A_APP_ID].service_handle);
        a_property = ESP_GATT_CHAR_PROP_BIT_WRITE | ESP_GATT_CHAR_PROP_BIT_NOtiFY;//ESP_GATT_CHAR_PROP_BIT_READ | ESP_GATT_CHAR_PROP_BIT_WRITE | ESP_GATT_CHAR_PROP_BIT_NOTIFY;
        esp_err_t add_char_ret = esp_ble_gatts_add_char(gl_profile_tab[PROFILE_A_APP_ID].service_handle, &gl_profile_tab[PROFILE_A_APP_ID].char_uuid,
                                                        ESP_GATT_PERM_WRITE,///ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE,
                                                        a_property,
                                                        &gatts_demo_char1_val, NULL);

        if (add_char_ret){
            ESP_LOGE(GATTS_TAG, "add char failed, error code =%x",add_char_ret);
        }

更多回帖

发帖
×
20
完善资料,
赚取积分