OSAL系统框架专题

来源:互联网 发布:网络招商骗局 编辑:程序博客网 时间:2024/04/30 02:42
 do {
    if (tasksEvents[idx])  // Task is highest priority that is ready.
    {
      break;
    }

  } while (++idx < tasksCnt);

extern uint16 *tasksEvents;

typedef unsigned short (*pTaskEventHandlerFn)( unsigned char task_id, unsigned short event );

const pTaskEventHandlerFn tasksArr[] = {
  macEventLoop,
  nwk_event_loop,
  Hal_ProcessEvent,
#if defined( MT_TASK )
  MT_ProcessEvent,
#endif
  APS_event_loop,
#if defined ( ZIGBEE_FRAGMENTATION )
  APSF_ProcessEvent,
#endif
  ZDApp_event_loop,
#if defined ( ZIGBEE_FREQ_AGILITY ) || defined ( ZIGBEE_PANID_CONFLICT )
  ZDNwkMgr_event_loop,
#endif
  GenericApp_ProcessEvent
};
const uint8 tasksCnt = sizeof( tasksArr ) / sizeof( tasksArr[0] );//任务数目!


 events = tasksEvents[idx]; 

  events = (tasksArr[idx])( idx, events );//最重要的一句话了。

具体可以参考飞比论坛文章

0 0