收集器复位后、它将丢失其在已连接器件上的信息。 但是、传感器仍具有这些引脚。
如果功率损耗导致传感器短路、从而注意到收集器已离线、则不会进入孤立状态。 由于它仍然知道网络、因此它将能够向收集器发送消息。
收集器将接收这些消息并在 MAC 层上确认它们。
但是、由于传感器不在连接设备列表中、因此不会向应用提供信息。
因为传感器仍收到确认。 因此、 即使 无法进行通信、它也会认为该连接正在进行中。
如何处理此问题:
了解此问题可帮助您通过多种方式解决它。
针对此问题、经测试的可能解决方案为:
添加
if (findDevice (&pPollInd->srcAddr)== NULL &&
pPollInd->srcAddr.addrMode == ApiMac_addrType_short)
{
Cllc_sendDisassociationRequest (addr.addr.shortAddr、false);
}
收集器轮询回调" PollIndCB (ApiMac_mlmePollind_t *pPollInd. ) collector.c.
这会导致收集器在接收到未知设备的消息后发送解离请求。
传感器项目中的系数
Util_setEvent (&Sensor_Events、SENSOR_START_EVT);
可在 jdlc.c 中找到的 disassocIndCb()
这将导致传感器重新启动网络。 接收到取消关联请求后。