无法通过GATTM_ADD_SVC_REQ消息添加服务

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.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);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 //添加svc decl属性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 success 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
离线
最后看到:22小时45分钟前
工作人员
加入:2018-02-08 11:03
嗨chenpenglai,

嗨chenpenglai,

你跟上了吗?教程3:构建自定义配置文件从我们的支持网站?你说"不会扼杀程序"是什么意思?你在调试模式下运行过吗?在哪里卡住了?

谢谢,PM_Dialog