无法通过GATTM_ADD_SVC_REQ消息添加服务

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
3个帖子/ 0个新帖子
最后发表
chenpenglai
离线
最后看到:三个月三个星期前
加入:2018-12-24 02:24
无法通过GATTM_ADD_SVC_REQ消息添加服务

我正在使用ble_examples\ble_app_peripheral项目的SDK

我通过发送GATTM_ADD_SVC_REQ消息来添加一个新服务,如下所示:

step0 struct gattm_add_svc_req * req = KE_MSG_ALLOC(gattm_add_svc_req,TASK_ATTM,TASK_APP,gattm_add_svc_req);请求-> task_id = TASK_APP;Req -> total_size = 36;// 16 + 19 +1 req-> nb_att_uuid_16 = 2;Req -> nb_att_uuid_32 = 0;Req -> nb_att_uuid_128 = 1;申请- > start_hdl = 0;ke_msg_send(要求的);

我在user_catch_rest_hndl(…)函数中得到了GATTM_ADD_SVC_RSP响应

然而,当我在user_catch_rest_hndl(…)中执行以下代码step2时,程序将会死亡:

case GATTM_ADD_SVC_RSP: {struct GATTM_ADD_SVC_RSP const *msg_param = (struct GATTM_ADD_SVC_RSP const *)(param);if(msg_param->status==ATT_ERR_NO_ERROR){arch_printf("GATTM_ADD_SVC_RSP成功%d\n",msg_param->start_hdl);} arch_printf_process ();svc_handle = msg_param - > start_hdl;step1 // Add svc decl attribute struct gattm_add_attribute_req * addreq = KE_MSG_ALLOC(gattm_add_attribute_req,TASK_ATTM,TASK_APP,gattm_add_attribute_req);Addreq ->start_hdl = svc_handle;//从svc的成功rsp以上addreq ->perm = perm (RD, ENABLE);addreq ->uuid_len = ATT_UUID_16_LEN;addreq ->max_data_size = ATT_UUID_128_LEN;uint16_t att_decl_svc = ATT_DECL_PRIMARY_SERVICE; memcpy(addreq ->uuid, &att_decl_svc, sizeof(att_decl_svc)); ke_msg_send(addreq ); step2 //Set svc uuid value struct gattm_att_set_value_req * setreq = KE_MSG_ALLOC(GATTM_ATT_SET_VALUE_REQ,TASK_ATTM,TASK_APP,gattm_att_set_value_req); setreq ->handle =svc_handle; setreq ->length = ATT_UUID_128_LEN; uint8_t svc_uuid[16]={1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}; memcpy(setreq ->value, svc_uuid, sizeof(svc_uuid)); ke_msg_send(setreq); } break;

上面的代码引用了https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-42-%E2%80%93-software/adding-custom-servicecharacteristic

仅执行step1的代码不会杀死程序

你认为第2步和第0步的作用是什么?

设备:
chenpenglai
离线
最后看到:三个月三个星期前
加入:2018-12-24 02:24

嗨TM_Dialog

我正在使用ble_examples\ble_app_peripheral项目的SDK

PM_Dialog
离线
最后看到:5天20小时前
工作人员
加入:2018-02-08 11:03
嗨chenpenglai,

嗨chenpenglai,

你有没有跟着教程3:构建自定义概要文件从我们的支持网站?你说"不会扼杀程序"是什么意思?你在调试模式下运行它了吗?是否被困在某个地方?

谢谢,PM_Dialog