如下代码,终端A(client)想要取得终端B(server)的属性:
tmpDstAddr.addrMode = (afAddrMode_t)Addr16Bit;
tmpDstAddr.endPoint = 0x01;
tmpDstAddr.addr.shortAddr = 0xC859;
BasicAttrsList.numAttr = 1;
BasicAttrsList.attrID[0] = ATTRID_BASIC_MANUFACTURER_NAME;
status = zcl_SendRead( SAMPLESW_ENDPOINT, &tmpDstAddr,
ZCL_CLUSTER_ID_GEN_BASIC, &BasicAttrsList,
ZCL_FRAME_CLIENT_SERVER_DIR, FALSE, bdb_getZCLFrameCounter() );
发送成功,却没有接受到Read Response。通过抓包来看,代码中指定了终端B的地址(0xC859),但是这帧的目的地址显示却是0x0000,请教大神,是什么原因,如何解决?
补充说明:因为是测试代码,通过抓包,已经确定了目的地址等信息,所以hard coding了,在zcl_SendRead之前,调用zclGeneral_SendOnOff_CmdOn对终端B(0xC859)操作就没有问题。