sapi.c中的SAPI_Init()函数。
ZDO_RegisterForZDOMsg( sapi_TaskID, NWK_addr_rsp );
表示接收某任务 要订阅某一种簇的消息 。
但是afRegister( &sapi_epDesc ),却又注册了AppNumInClusters和pAppInClusterList,那这个注册是做什么呢?
typedef struct
{
byte endPoint;
byte *task_id; // Pointer to location of the Application task ID.
SimpleDescriptionFormat_t *simpleDesc;
afNetworkLatencyReq_t latencyReq;
} endPointDesc_t;
typedef struct
{
byte EndPoint;
uint16 AppProfId;
uint16 AppDeviceId;
byte AppDevVer:4;
byte Reserved:4; // AF_V1_SUPPORT uses for AppFlags:4.
byte AppNumInClusters;
cId_t *pAppInClusterList;
byte AppNumOutClusters;
cId_t *pAppOutClusterList;
} SimpleDescriptionFormat_t;
YiKai Chen:
afRegister是用來注册應用程序的EndPoint description
zhou jiangtao:
回复 YiKai Chen:
我明白了,ZDO用的0端点,应用再用个别的端点,端点不同,簇ID就不冲突了。
YiKai Chen:
回复 zhou jiangtao:
是這樣的沒錯
zhou jiangtao:
回复 YiKai Chen:
但是我还没看明白AF_DataRequest发出去的包含源端描述的应用自定义的信息,对方在哪儿解析。
zhou jiangtao:
回复 YiKai Chen:
我找到了,谢谢,我这个版本是AF_INCOMING_MSG_CMD消息 ,它在ZDO ZDAPP.C和SAPI.c都有出现,选择自己希望处理的层即可。