TI中文支持网
TI专业的中文技术问题搜集分享网站

开启EZMODE怎样才能获取到终端节点信息?

大家好,我在 使用HA1.2中的Light做协调器,Switch做终端实现终端按键触发控制协调器灯状态改变过程中,开启了EZMODE,想通过下面方式获取终端节点信息,调试发现没有执行,不知道是什么情况?

#if ZCL_EZMODE
/*********************************************************************
 * @fn      zclSampleLight_ProcessZDOMsgs
 *
 * @brief   Called when this node receives a ZDO/ZDP response.
 *
 * @param   none
 *
 * @return  status
 */
static void zclSampleLight_ProcessZDOMsgs( zdoIncomingMsg_t *pMsg )
{
  zclEZMode_ActionData_t data;
  ZDO_MatchDescRsp_t *pMatchDescRsp;

  // Let EZ-Mode know of the Simple Descriptor Response
  if ( pMsg->clusterID == Match_Desc_rsp )
  {
    pMatchDescRsp = ZDO_ParseEPListRsp( pMsg );
    data.pMatchDescRsp = pMatchDescRsp;
    zcl_EZModeAction( EZMODE_ACTION_MATCH_DESC_RSP, &data );

    HalLedSet(HAL_LED_2, HAL_LED_MODE_TOGGLE);
    osal_mem_free( pMatchDescRsp );
  }
}

YiKai Chen:

你指的 获取终端节点信息 是指什麼信息?

user4796768:

回复 YiKai Chen:

主要是想获取终端节点的短地址和EndPoint

YiKai Chen:

回复 user4796768:

參考一下
sunmaysky.blogspot.com/…/how-to-handle-end-node-announcement.html

user4796768:

回复 YiKai Chen:

竟然打不开,晕了

Alvin Chen:

回复 user4796768:

ZDO_ActiveEndpointRsp_t

ZDO_ActiveEndpointRsp_t *pActiveEndpointRsp;
if ( pMsg->clusterID == Active_EP_rsp )pActiveEndpointRsp = ZDO_ParseEPListRsp( pMsg );

可以通过

* ZDP_ActiveEPReq – Request a device's endpoint list
*
* @MT SPI_CMD_ZDO_ACTIVE_EPINT_REQ
* (UInt16 DstAddr,
* UInt16 NWKAddrOfInterest,
* byte SecuritySuite)
*
*/
#define ZDP_ActiveEPReq( dstAddr, NWKAddrOfInterest, SecurityEnable ) \
ZDP_NWKAddrOfInterestReq( dstAddr, \
NWKAddrOfInterest, Active_EP_req, SecurityEnable )

赞(0)
未经允许不得转载:TI中文支持网 » 开启EZMODE怎样才能获取到终端节点信息?
分享到: 更多 (0)