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。
请问aff->DstEndPoint 和你的接收端的src endpoint一样吗?
谢谢,我已经解决了,是在应用层美欧注册endpoint对应的描述符