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

一个函数内调用9次ZDP_SimpleDescReq(),抓包发现只发送出6条“Simple Descriptor Request”,怎么处理?

平台:CC2538

协议栈版本:Zstack 3.0.1

过程:

1、发送“ZDP_ActiveEPReq( &addr, dstAddr, 1 );”命令请求目标设备的“端口列表”。

2、收到目标设备的“端口列表”返回,然后请求所有端口的简单描述符:

case Active_EP_rsp:

{

……

for (uint8 i=0; i < pActiveEPs->cnt; i++ ) // 对每个Endpoint进行请求获得 EndPoint上面支持的 In Cluster和 Out Cluster
{
    addr.addr.shortAddr = pActiveEPs->nwkAddr;

    // 请求端口的简单描述符
    ZDP_SimpleDescReq( &addr, pActiveEPs->nwkAddr, pActiveEPs->epList[i], 1 );
}

……

}

3、一共有9个端口,发送了9个简单描述符请求命令,通过抓包发现只发出去了6个简单描述符请求,还有3个没有发送出去。

问题:

为什么只能发出去6个简单描述符请求?是因为缓存问题吗?如果是的话在哪里扩大缓存大小?

望解答,谢谢!

YiKai Chen:

你用一個迴圈持續呼叫ZDP_SimpleDescReq是不行的、試試用timer event 分開呼叫ZDP_SimpleDescReq

Jesse Huang:

回复 YiKai Chen:

实在不行我再考虑这么做,谢谢解答!

Susan Yang:

不建议在循环内调用ZDP_SimpleDescReq

Jesse Huang:

回复 Susan Yang:

非常感谢您的解答,我现在是用timer event分开调用ZDP_SimpleDescReq了,除此之外还有别的可行的办法吗?

YiKai Chen:

回复 Jesse Huang:

據我所知,沒有其他可行的办法

赞(0)
未经允许不得转载:TI中文支持网 » 一个函数内调用9次ZDP_SimpleDescReq(),抓包发现只发送出6条“Simple Descriptor Request”,怎么处理?
分享到: 更多 (0)