得到父节点的网络地址:uint16 NLME_GetCoordShortAddr( void );
得到父节点的理地址:void NLME_GetCoordExtAddr( byte * );
得到自己的网络地址:uint16 NLME_GetShortAddr( void );
得到自己的物理地址:byte *NLME_GetExtAddr( void );
查找基于网络地址的物理地址:uint8 APSME_LookupExtAddr( uint16 nwkAddr, uint8* extAddr );
查找基于物理地址的网络地址:uint8 APSME_LookupNwkAddr( uint8* extAddr, uint16* nwkAddr );
可以在终端的程序中使用 ZDP_DeviceAnnce()函数 ,该函数会广播终端的短地址
ZDP_NwkAddrReq()
调用此函数将生成一个根据已知IEEE地址询问远程节点16位网络地址的消息。这个消息作为一个广播消息发送至网络中的所有节点。
函数原型:
afStatus_t ZDP_NwkAddrReq( byte *IEEEAddress, byte ReqType, byte StartIndex, byte SecuritySuite );
参数:
IEEEAddress-远程节点的IEEE地址
ReqType- ZDP_NWKADDR_REQTYPE_SINGLE(只返回节点的短地址和扩展地址)、ZDP_NWKADDR_REQTYPE_EXTENDED(返回节点的短地址和扩展地址以及所有相关节点的短地址)
StartIndex-响应节点的响应信息可以有很多的响应选项,请求程序可以指定一个起始索引号,索引从0开始
SecuritySuite –安全要求
返回值:
ZStatus_t-状态
ZDP_NWKAddrRsp()
ZDP_NWKAddrRsp()实际上是调用ZDP_ADDRRsp()这个宏定义,用于建立和发送16位网络地址响应。
函数原型:
afStatus_t ZDP_NWKAddrRsp( byte TranSeq, zAddrType_t *dstAddr, byte Status,
byte *IEEEAddrRemoteDev, byte ReqType, uint16 nwkAddr, byte NumAssocDev, byte StartIndex,
uint16 *NWKAddrAssocDevList, byte SecuritySuite );
参数:
TranSeq-传输序号
DstAddr-目的地址
Status - ZDP_SUCCESS=0,ZDP_INVALID_REQTYPE=1,ZDP_DEVICE_NOT_FOUND=2
IEEEAddrRemoteDev –远程节点的64位IEEE地址
ReqType –请求的类型
nwkAddr – 远程节点的16位网络地址
NumAssocDev –与远程节点关联的节点数目
StartIndex –响应节点的响应信息可以有很多的响应选项,请求程序可以指定一个起始索引号,该索引号是响应信息的起始索引号
NWKAddrAssocDevList – 与远程节点关联的节点16位网络地址列表
SecuritySuite – 安全要求
返回值:
ZStatus_t-状态