This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ProfileID 和 DeviceID 的选择与用途

#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协议栈中到底代表什么意思,怎样取值     与  节点、设备、端点、簇  这些概念有什么关联??