我基于 SDK 5.0.4 的 ble_examples\ble_app_peripheral 工程修改
我想在运行时更改现有服务uuid和属性uuid,因为属性uuid由客户在运行时通过串行端口配置
我正在开发一个AT指令蓝牙模块
我这样修改:
uint8_t new_uuid_arr[16]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}; //a new uuid struct att_char128_desc *p1 = (struct att_char128_desc *)cust_prf_funcs->att_db[CUST1_IDX_SERVER_TX_CHAR].value; memcpy(p1->attr_type, new_uuid_arr, 16);
我的期望是上述代码执行后uuid会发生变化
但这不起作用,手机连接查看uuid还是和原来的一样
请告诉我如何在运行后通过哪个函数更改存在的服务uuid和属性uuid
还有其他改变属性uuid的方法吗?
在另一个论坛非常感谢 TM_Dialog 给我提供的帮助,我尝试过,但手机连接上去查看uuid并没有修改成功,应该是我漏了什么关键的步骤:
Device:
你好,
我会验证后给你答复
好的 非常感谢
你好,
可尝试修改 uuid 数组后,
调用 app_gapm_reset_op(); 接口,复位一下协议栈;
之后协议栈会重新运行一系列初始化流程。
你好
我尝试执行以后刚好符合我的预期,非常感谢你!!
不客气~
对有帮助的回答,可将其设置为接受