#define SAMPLEAPP_PROFID 0x0F08
#define SAMPLEAPP_DEVICEID 0x0001
const SimpleDescriptionFormat_t SampleApp_SimpleDesc =
{
SAMPLEAPP_ENDPOINT, // int Endpoint;
SAMPLEAPP_PROFID, // uint16 AppProfId[2];
SAMPLEAPP_DEVICEID, // uint16 AppDeviceId[2];
SAMPLEAPP_DEVICE_VERSION, // int AppDevVer:4;
SAMPLEAPP_FLAGS, // int AppFlags:4;
SAMPLEAPP_MAX_CLUSTERS, // uint8 AppNumInClusters;
(cId_t *)SampleApp_ClusterList, // uint8 *pAppInClusterList;
SAMPLEAPP_MAX_CLUSTERS, // uint8 AppNumInClusters;
(cId_t *)SampleApp_ClusterList // uint8 *pAppInClusterList;
};
来自简单设备描述符
实验:SAMPLEAPP_PROFID 不同的两个设备之间是不能通信的
而SAMPLEAPP_DEVICEID 不同却没影响
分析:查看了,协议栈里面的相关代码,发现没有对SAMPLEAPP_DEVICEID 作出判断,只有赋值,而对SAMPLEAPP_PROFID
既有判断又有赋值。
结论与提问:改变SAMPLEAPP_DEVICEID 值对通信没影响是因为忽略了对这个参数的判断,而SAMPLEAPP_PROFID 有相应的判断。
那么SAMPLEAPP_DEVICEID SAMPLEAPP_PROFID 在ZigBee协议栈中到底代表什么意思,怎样取值 与 节点、设备、端点、簇 这些概念有什么关联??