TI中文支持网
TI专业的中文技术问题搜集分享网站

cc1310中关于sensor主动分离处理问题?

sensor发送分离请求成功之后,collector的短地址没有自动清除,2.3SDK,

我是功能已经是实现了,sensor第一次加入,然后分离连接其他的collector。但是连接的第一个collector的NV信息没有被清除。分离请求会自动清除这个信息呀

Viki Shi:

请问你是用什么版本的SDK测试的?

user5322468:

回复 Viki Shi:

2.3SDK

Viki Shi:

回复 user5322468:

抱歉,你的问题描述里写了,没看清楚。你用的是原例程吗?是否做了修改?

user5322468:

回复 Viki Shi:

static void disassocIndCb(ApiMac_mlmeDisassociateInd_t *pData)
{if(pData->disassociateReason == ApiMac_disassocateReason_device){/* remove device from association table */Cllc_removeDevice(&pData->deviceAddress);}
if(macCallbacksCopy.pDisassociateIndCb){macCallbacksCopy.pDisassociateIndCb(pData);}
}

collector的分离处理就是直接删除,但是Cllc_associatedDevList信息还是存在。搞不动?sensor那边的NV信息是被清除了。collector 没有

而且分离请求,就算改动其他地方也不可能存在影响啊。sensor发-collector回调处理。完事。主要是sensor分离成功。

Alvin Chen:

回复 user5322468:

你sensor 发送Jdllc_sendDisassociationRequest
在Cllc_removeDevice中会
void Cllc_removeDevice(ApiMac_sAddrExt_t *pExtAddr)
{int8_t i = 0;uint16_t shortAddr = Csf_getDeviceShort(pExtAddr);
if(shortAddr != CSF_INVALID_SHORT_ADDR){for(i = 0; i < CONFIG_MAX_DEVICES; i++){if(Cllc_associatedDevList[i].shortAddr == shortAddr){/* Clear the entry – delete */memset(&Cllc_associatedDevList[i], 0xFF,sizeof(Cllc_associated_devices_t));/* remove from NV */Csf_removeDeviceListItem(pExtAddr);/* The corresponding device is removed, return from the function call */return;}}}
}

user5322468:

回复 Alvin Chen:

是的呀,但是collector根本没有memset(&Cllc_associatedDevList[i], 0xFF,sizeof(Cllc_associated_devices_t));,我在sensor分离成功后,查看collector的Cllc_associatedDevList信息,里面还是保存了记录。sensor分离成功的判断是,我sensor分离之后会去连接其他的collector,

Alvin Chen:

回复 user5322468:

你抓包看一下吧,看看是否collector收到了没

赞(0)
未经允许不得转载:TI中文支持网 » cc1310中关于sensor主动分离处理问题?
分享到: 更多 (0)