打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
任务处理函数_ProcessEvent

//任务处理函数
UINT16 GenericApp_ProcessEvent( byte task_id, UINT16 events )
{
  //定义应用层数据包
  afIncomingMSGPacket_t *MSGpkt;

//如果系统消息到来
  if ( events & SYS_EVENT_MSG )
  {
    //接收数据包
    MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID );
   
    //如果数据包不为空
    while ( MSGpkt )
    {

  //判断消息类型
      switch ( MSGpkt->hdr.event )
      {  

//处理在初始化中注册的消息
        case ZDO_CB_MSG:
          SAPI_ProcessZDOMsgs( (zdoIncomingMsg_t *)pMsg );
          break;

//按键消息
        case KEY_CHANGE:
          //调用按键处理函数
          GenericApp_HandleKeys( ((keyChange_t *)MSGpkt)->state, ((keyChange_t *)MSGpkt)->keys );
          break;

//数据发送后返回信息处理函数

case AF_DATA_CONFIRM_CMD:
          // This message is received as a confirmation of a data packet sent.
          // The status is of ZStatus_t type [defined in ZComDef.h]
          // The message fields are defined in AF.h
          pDataConfirm = (afDataConfirm_t *) pMsg;
          SAPI_SendDataConfirm( pDataConfirm->transID, pDataConfirm->hdr.status );
          break;

//接收数据事件
        case AF_INCOMING_MSG_CMD:
          //调接收数据的处理函数
          GenericApp_MessageMSGCB( MSGpkt );
          break;

//网络状态发生变化事件
        case ZDO_STATE_CHANGE:
          //获取网络状态
          GenericApp_NwkState = (devStates_t)(MSGpkt->hdr.status);
          //判断网络类型
          if ( (GenericApp_NwkState == DEV_ZB_COORD)
              || (GenericApp_NwkState == DEV_ROUTER)
              || (GenericApp_NwkState == DEV_END_DEVICE) )
          {
           
          }
          break;
         
        default:
          break;
      }

     //释放存储区
      osal_msg_deallocate( (uint8 *)MSGpkt );

     //判断操作系统层是否有未处理的数据包,继续处理缓冲区中的包
      MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID );
    }

   // 返回未处理的任务
    return (events ^ SYS_EVENT_MSG);
  }

// Discard unknown events
  return 0;
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
OSAL主循环流程
传感网原理与技术
ZStack OSAL的事件(event)与消息(message)——part1 & par...
深入浅出Z-Stack 2006 OSAL多任务资源分配机制
SendMessage、PostMessage原理(1)
OSAL处理来自AF的数据包流程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服