终端点播发送数据,但是协调器接收不到,通过调试知道协调器(接收端)代码并未跑到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 IDZCL_HA_DEVICEID_ON_OFF_LIGHT,// uint16 AppDeviceId;GENERICAPP_DEVICE_VERSION,// intAppDevVer:4;GENERICAPP_FLAGS,// intAppFlags: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; } }
发送数据时抓包如下:
YiKai Chen:
先設断点在AF.c的afincomingmsg理頭看看有沒有收到封包
Viki Shi:
请参考这边的类似问题:e2echina.ti.com/…/563151
YIFEI YUAN:
回复 YiKai Chen:
在afIncomingData中收到了数据包,所以应该是数据发到了,但是没出触发AF_INCOMING_MSG_CMD事件,但是我看另一个帖子里说的是“zclGenericApp_event_loop理面無法收AF_INCOMING_MSG_CMD”,除非修改afBuildMSGIncoming。所以这个修改方式有没有参考啊?
YiKai Chen:
回复 YIFEI YUAN:
作法上可以參考 dev.ti.com/…/node
YIFEI YUAN:
回复 YiKai Chen:
我去看了这个文档,没有找到相应的修改方法呀,“修改afBuildMSGIncoming讓他收到自定义的Cluster ID後會轉送到zclGenericApp_event_loop”,这个应该怎么修改呀?