This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
bug函数:zcl_event_loop
bug代码定位:
if ( *msgPtr == AF_INCOMING_MSG_CMD ) { zcl_ProcessMessageMSG( (afIncomingMSGPacket_t *)msgPtr ); } else { uint8 taskID; taskID = zcl_getExternalFoundationHandler( (afIncomingMSGPacket_t *)msgPtr ); if ( taskID != TASK_NO_TASK ) { // send it to another task to process. osal_msg_send( taskID, msgPtr ); dealloc = FALSE; } }
Bug说明:在zcl中,此处为osal msg的处理。由ZCL的task处理函数处理的消息,通常发给zcl_event_loop的消息,只有AF_DATA_CONFIRM_CMD。如果依然按照afIncomingMSGPacket_t 的结构去处理消息AF_DATA_CONFIRM_CMD消息,必然会获得一个错误的Endpoint值。