zstack協議棧

執拗的我發表於2019-04-16

1.在協議棧中建立一個任務的步驟

  1. 定義任務事件處理函式
原型:UINT16  任務處理函式名( byte task_id, UINT16 events )
引數:taskid:任務號
      events:事件值
返回值:尚未被處理的事件
  1. 定義任務初始化函式
原型:void 任務初始化函式名( byte task_id )
引數:task_id:任務號
  1. 任務事件處理函式新增到事件處理函式表taskArr[]
  2. 任務初始化函式新增到void osalInitTasks( void )

2.在zstack中啟動定時器的函式:

原型:uint8 osal_start_timerEx( uint8 taskID, uint16  event_id, uint16  timeout_value )
引數:taskID:此定時器所有者的任務ID;
      event_id:定時器溢位時向任務發出的事件掩碼;
      timeout_value:定時間隔,ms為單位

注意:定時器啟動後只會定時一次,如果需要再次定時,則需要再次啟動;


 

相關文章