我工作在sdk 5.0.4
我想在运行时修改现有的服务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};//一个新的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属性吗?
设备:
嗨chenpenglai,
在app_custs1_create_db()函数中尝试了以下步骤吗??如果是,在哪个示例的SDK?你想如何改变UUI?
要改变特征值,你必须在两个地方进行改变:
现在将改变应用到特性本身:
谢谢,PM_Dialog
我尝试在app_custs1_create_db()函数中执行上面的代码,如下所示
但是app_custs1_create_db()函数只能在设备启动时更改服务uuid
我想在运行时更改它,而不是重新启动
我尝试更改array_test_svc[]值,并在设备启动后调用app_custs1_create_db()函数,但无法更改服务uuid
你好PM_Dialog
我需要你的帮助
嗨chenpenglai,
我为耽搁道歉。我正在处理这个问题,我会尽快给你回电话。您正在使用哪个SDK示例?
谢谢,PM_Dialog
我在ble_app_peripheral工作
嗨chenpenglai,
我使用了以下代码片段,我不能复制你的问题。我使用了SDK5.0.4的ble_app_peripheral示例。唯一的变化是CUST1_IDX_LONG_VALUE_CHAR而不是CUST1_IDX_SERVER_TX_CHAR。我假设你已经创建了一个“服务器Tx”特征。
因为,我不能复制这个问题,请尝试调试您的代码。另外,不工作是什么意思?这个设备在做广告吗?你能接通吗?你在调试模式下运行它了吗?
谢谢,PM_Dialog