自定义设置订阅地址,重启后就没有了,什么原因?

自定义的订阅地址,在未断电前是正常的,可以接收到此订阅地址的信息,但是重启后,发现此订阅地址并没有保存到,

反复试了多次,发现就是只能存储前面两个,后面4个是存储不到的。


微信图片_20230115005141.png


void User_Subscribe_Address_Set(uint8_t add_flag, uint16_t sub_addr)

{

? ? uint8_t i;

? ? uint8_t status;

? ? uint16_t *match;

? ? if(add_flag)? ? ? //添加订阅地址

? ? {

? ? ? ? match = App_model_find_group( &vnd_models[0], BLE_MESH_ADDR_UNASSIGNED);

? ? ? ? if( match )

? ? ? ? {

? ? ? ? ? ? // 本地添加订阅地址

? ? ? ? ? ? *match = (uint16_t)sub_addr;

? ? ? ? ? ? bt_mesh_store_mod_sub(&vnd_models[0]);

? ? ? ? ? ? status = STATUS_SUCCESS;

? ? ? ? ? ? APP_DBG("lcoal sub addr added");

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? status = STATUS_NOMEM;

? ? ? ? }


? ? ? ? //打印订阅地址,正常添加,也能够接收订阅地址的信息

? ? ? ? for (i = 0; i < CONFIG_MESH_MOD_GROUP_COUNT_DEF; i++)

? ? ? ? {

? ? ? ? ? ? PRINT("G%d: 0x%04x\r\n", i, vnd_models->groups[i] );

? ? ? ? }

? ? }

? ? else? ? ? ? ? ? ? ? ? //删除订阅地址

? ? {

? ? ? ? match = App_model_find_group( &vnd_models[0], sub_addr);

? ? ? ? if( match )

? ? ? ? {

? ? ? ? ? ? // 本地删除订阅地址

? ? ? ? ? ? *match = (uint16_t)BLE_MESH_ADDR_UNASSIGNED;

? ? ? ? ? ? bt_mesh_store_mod_sub(&vnd_models[0]);

? ? ? ? ? ? status = STATUS_SUCCESS;

? ? ? ? ? ? APP_DBG("lcoal sub addr deleted");

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? status = STATUS_INVALID;

? ? ? ? }

? ? }


? ? if(status)

? ? {

? ? ? ? APP_DBG("set sub ack failed %d", status);

? ? }

}


void App_Init()

{

? ? uint8_t i;

? ? GAPRole_PeripheralInit();

? ? Peripheral_Init();


? ? App_TaskID = TMOS_ProcessEventRegister(App_ProcessEvent);


? ? vendor_model_srv_init(vnd_models);

? ? blemesh_on_sync();


? ? //打印订阅地址,重启后添加的订阅地址不见了

? ? for (i = 0; i < CONFIG_MESH_MOD_GROUP_COUNT_DEF; i++)

? ? {

? ? ? ? PRINT("G%d: 0x%04x\r\n", i, vnd_models->groups[i] );

? ? }


? ? User_ProcessEventRegister();

? ? HAL_PwmInit();

? ? User_Config_Init( );

? ? HAL_LedInit ();

? ? HAL_KeyInit();

? ? HalKeyConfig(keyPress);

}


代码里面的问号,怎么搞都去不掉。


您好,该问题已通过微信联系,之后微信给您答复。


只有登录才能回复,可以选择微信账号登录