Zstack是Zigbee協議的具體實現,在實現的過程中為了能夠更好的對各個模塊和功能進行管理,所以加入了OSAL(Operating System Abstraction Layer 操作系統抽象層)(以上為個人見解)。
在OSAL中,提出了任務,事件,消息三個概念。它們之間的關系如下:
任務是處理事件的一個功能集合,一般由一個事件處理函數實現(ProcessEvents)
事件是當前系統中被觸發的動作,例如有按鍵按下,接收到其他節點發送過來的消息等等
消息則是事件編號和其對應事件內容的集合,發生事件並將其打包到消息隊列,供事件處理函數進行處理
大致的流程如下:
事件發生后-->被打包為消息-->存放到消息隊列-->事件處理函數取出消息並進行相應操作