TI论坛
直播中

李金云

7年用户 208经验值
私信 关注
[问答]

SampleLight例子终端设备epDesc拿不到值的原因?

大家好:
      我用的协议栈版本是Z-Stack Home 1.2.1,在使用SampleLight例子进行简单的开关灯实验室遇到如下问题:
1.协调器组网成功,信息发送成功。
2,终端设备接收到信息,但是在afIncomingData函数里面遇到问题。问题如下:
else if ( (epDesc = afFindEndPointDesc( aff->DstEndPoint )))
[
     pList = afFindEndPointDescList( epDesc->endPoint );
]
while ( epDesc )
[]
上面的epDesc 检索不到相应的endpoint。
断点发现aff->DstEndPoint 的值和协调器发送时zclSampleLight_DstAddr.endPoint的值相同
3.协调器发送时DstAddr的值如下:
zclSampleLight_DstAddr.addr.shortAddr = (pBuffer[2]<<8 | pBuffer[3]); //AssociatedDevList->shortAddr;//(pBuffer[2]<<8|pBuffer[3]);
zclSampleLight_DstAddr.addrMode = (afAddrMode_t)afAddr16Bit;
zclSampleLight_DstAddr.endPoint = pBuffer[5];//pBuffer[5];
请问zclSampleLight_DstAddr是没有做相应的注册还是其他原因导致终端设备不能检测到endpoint。

回帖(2)

李果

2020-4-24 09:32:12
请问aff->DstEndPoint 和你的接收端的src endpoint一样吗?
举报

李金云

2020-4-24 09:37:35
谢谢,我已经解决了,是在应用层美欧注册endpoint对应的描述符
举报

更多回帖

发帖
×
20
完善资料,
赚取积分