急,求大神回答关于CapabilityFlags的取值问题
在NLMEDE.h中,CapabilityFlags取值如下:
// CapabilityFlags Bitmap values
#define CAPINFO_ALTPANCOORD 0x01
#define CAPINFO_DEVICETYPE_FFD 0x02
#define CAPINFO_DEVICETYPE_RFD 0x00
#define CAPINFO_POWER_AC 0x04
#define CAPINFO_RCVR_ON_IDLE 0x08
#define CAPINFO_SECURITY_CAPABLE 0x40
#define CAPINFO_ALLOC_ADDR 0x80
但是我在
ZDO_JoinIndicationCB(uint16 ShortAddress, uint8 *ExtendedAddress,
uint8 CapabilityFlags, uint8 type)
函数中发现路由进网的时候CapabilityFlags传进来的值却是0x8E
,
这个值并没有在上面定义,这个值代表什么呢?
CAPINFO_ALLOC_ADDR |CAPINFO_RCVR_ON_IDLE | CAPINFO_POWER_AC | CAPINFO_DEVICETYPE_FFD 就等于0x8E
0X8E是功能或的关系,就是说这个设备具备分配地址,外部电源供电,空闲时接收打开,FFD,多种功能。
好,谢谢了,刚刚觉悟过来了[破涕为笑]
那为什么EndDevice入网传进来的值是0x80?EndDevice没分配地址能力吧?
那为什么EndDevice进网的时候传进来的值却是0x80?
读了下规范,这个标识表示的意思是:重新加入网络时网络地址的分配方式,1表示父节点分配,0表示有节点自己分配。
你好,请问在那个文档有说明?
就是zigbee的文档。