终端点播发送数据,但是协调器接收不到,通过调试知道协调器(接收端)代码并未跑到AF_INCOMING_MSG_CMD事件中,发送数据的抓包截图显示数据已经发出去了,所以麻烦大佬帮我看一下咋回事吧,谢谢啦。
初始化部分代码:
SimpleDescriptionFormat_t zclGenericApp_SimpleDesc = { GENERICAPP_ENDPOINT, // int Endpoint; ZCL_HA_PROFILE_ID, // uint16 AppProfId; // GENERICAPP_TODO: Replace ZCL_HA_DEVICEID_ON_OFF_LIGHT with application specific device ID ZCL_HA_DEVICEID_ON_OFF_LIGHT, // uint16 AppDeviceId; GENERICAPP_DEVICE_VERSION, // int AppDevVer:4; GENERICAPP_FLAGS, // int AppFlags:4; ZCLGENERICAPP_MAX_INCLUSTERS, // byte AppNumInClusters; (cId_t *)zclGenericApp_InClusterList, // byte *pAppInClusterList; ZCLGENERICAPP_MAX_OUTCLUSTERS, // byte AppNumInClusters; (cId_t *)zclGenericApp_OutClusterList // byte *pAppInClusterList; };
static endPointDesc_t zclGenericApp_TestEp = { GENERICAPP_ENDPOINT, // endpoint 0, &zclGenericApp_TaskID, (SimpleDescriptionFormat_t *)&zclGenericApp_SimpleDesc, noLatencyReqs };
const cId_t zclGenericApp_InClusterList[] = { ZCL_CLUSTER_ID_GEN_BASIC, ZCL_CLUSTER_ID_GEN_IDENTIFY, ZCL_CLUSTER_CLUSTERID, }; ***************************************************************************************** const cId_t zclGenericApp_OutClusterList[] = { ZCL_CLUSTER_ID_GEN_BASIC, ZCL_CLUSTER_CLUSTERID, };
发送部分代码:
my_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;//设置发送模式 my_DstAddr.endPoint = GENERICAPP_ENDPOINT;//初始化端口号 my_DstAddr.addr.shortAddr=0x0000; AF_DataRequest(&my_DstAddr, &zclGenericApp_TestEp, ZCL_CLUSTER_CLUSTERID, uart_rdlen-1, &uart_rdata[1], &zclGenericApp_TaskID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS);
接收部分代码:
case AF_INCOMING_MSG_CMD: HalUARTWrite(0,"msg00\n",6); GenericApp_MessageMSGCB( MSGpkt ); break; ******************************************************************** void GenericApp_MessageMSGCB(afIncomingMSGPacket_t *pkt){ uint8 buffer[10]; switch ( pkt->clusterId ) { case ZCL_CLUSTER_CLUSTERID: osal_memcpy(buffer,pkt->cmd.Data,pkt->cmd.DataLength); Uart_Write(SEND_DATA,0,buffer,pkt->cmd.DataLength); break; } }
发送数据时抓包如下: