我没有设置任意uuid。
我想改变服务UUID,具体取决于连接到CPU的部件。
例如,如果i2c 9轴传感器实现,0000-0000-0000-0001。
如果I2C ADC传感器实现,0000-0000-0000-0002。
我尝试改变服务UUID和Custs1配置文件的特征UUID进行测试。
以下是测试代码。
------------------------------------------------------------------------------
prf_init_func / prf_utils.c / line1465
uint8_t i = 0;
uint8_t j = 0;
staticat att_svc_desc128_t uuid;
while(cust_prf_funcs [i] .task_id!= task_none)
{
if(cust_prf_funcs [i] .init_func!= null)
{
for(j = 0; j <16; j ++){
cust_prf_funcs [i] .att_db [cust1_idx_svc] .uuid [j] = j;
cust_prf_funcs [i] .att_db [cust1_idx_long_value_val] .uuid [j] = j + 1;
}
cust_prf_funcs [i ++]。init_func();
}
否则我++;
}
---------------------------------------------------------------------------------
但是,当更改服务UUID时,无法连接。
上面的代码没有反映在特征uuid上。
启动FW后可以设置任意uuid吗?
如何在开始FW后设置任意UUID?
谢谢,
野蛮人。
嗨Teruyuki Nomura,
要更改服务UUID和特征UUID,您可以尝试应用我在下面的表现,
uint8_t array_test_svc [] = {0x03,0x03,0.x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x0x03,0x03};
uint8_t array_test_long_char [] = {0x04,0x04,0x0x04,0x04,0x0x04,0x04,0x04,0x04,0x0x04,0x04,0x04,0x04,0x04,0x04,0x0x04,0x04};
memcpy(cust_prf_funcs [i] .att_db [cust1_idx_svc] .value,array_test_svc,16);//这将对服务的变化进行更改
//为了更改特征值,您必须在两个地方应用更改
memcpy(cust_prf_funcs [i] .att_db [cust1_idx_svc] .value +(16 * 7),array_test_long_char,16);//将更改应用于该服务的包含包含特征的数组
memcpy(cust_prf_funcs [i] .att_db [cust1_idx_long_value_char] .value + 3,array_test_long_char,16);//将变更应用于特征本身
虽然对话框没有测试或支持这一点,但它只是一个建议,但它似乎在App_custs1_create_db()函数中播放。
关于我放置的数字以便放置适当的偏移量,16 * 7是16个UUID字节和服务中的特性的数量,+3偏移是特征+2的权限的偏移量和+3偏移量特征+1的权限。
谢谢mt_dialog.
你好mt_dialog.
你的建议似乎没有工作
嗨Chenpenglai,
您能否指明您使用的SDK / BLE设备/项目以便遵循建议的步骤?
它是14580和SDK5.0.4吗?在初始帖子中,DA14580被标记?如果是,您使用的是哪个项目?
我强烈建议创建一个新的论坛线程,因为这个是旧的和关闭。
谢谢,PM_DIALOG.
嗨pm_dialog,
是的,我正在使用da14580和sdk5.0.4
我想改变服务uuid,但我还没有找到......
遵循你的建议是没有用的
嗨Chenpenglai,
要更改自定义1服务的UUID,请根据您的要求在user_custs1_def.h文件中配置def_cust1_svc_uuid_128。请尝试创建一个新的论坛线程,因为这个是关闭的。
谢谢,PM_DIALOG.