目前zigbee開發主要用的是ti的cc2530。cc2530內部整合看增強型的51所以對於只學過51的小白入門不成問題。
本篇文章我只會介紹zigbee的協議棧。
我們開啟zigbee協議棧後可以加看到這樣的介面
上面的各個層的基礎知識你們自己查去。
我們點開zmain.c 熟悉一下zigbee的協議棧的流程
main()函式主要就做兩件事
一是系統初始化。二是開始執行函式osal_start_system(),進入查詢式作業系統
int main( void )
在main()的函式中只有兩重要的函式需要留意。分別為
osal_init_system(); //初始化作業系統
osal_start_system(); //進入輪轉查詢式作業系統事件處理的死迴圈
首先我們來看看osal_init_system(); //初始化作業系統
uint8 osal_init_system( void )
在osal_init_system()的這個函式中 我們重點看的是
osalinittasks(); //初始化系統任務
我們進入osalinittasks();看看
void osalinittasks( void ) //任務的初始化
為什麼我們要給每一層分配任務id?
首先我們來看看zigbee的系統
zigbee的作業系統是輪轉查詢式的作業系統
下面是其流程圖
系統開始執行後,就開始不斷根據我們分配的taskid,從優先順序高的層的任務優先處理。
優先順序高的任務處理後,再次從新回到原點,重新查詢,從優先順序高的層的任務處理。如果優先順序高的任務不需要處理,查詢下一級的任務,如果任務沒有處理,開始處理任務。處理結束後,回到起點,重新從最高優先順序的層查詢。
zigbee協議棧 端點
端點的意義 從應用角度看,通訊的本質就是端點到端點的連線 例如,乙個帶開關元件的裝置與帶乙個或多個燈元件的遠端裝置進行通訊,目的是將這些燈點亮 端點的實現 端點之間的通訊是通過稱之為簇的資料結構實現的。這些簇是應用物件之間共享資訊所需的全部屬性的容器,在特殊應用中使用的簇在模板中有定義。所有端點都使...
ZigBee協議棧解析
zigbee技術是物聯網領域最常用的無線技術之一,如果我們要做基於zigbee技術的物聯網應用,最好對zigbee協議棧有乙個基本的了解。這篇文章對zigbee協議棧做乙個簡單明瞭的介紹。概述本文準備介紹的zigbee協議棧是zigbee2007,也是目前業界最常用的標準版本,對於zigbee協議棧...
ZigBee模組 zigbee協議棧網路管理
zigbee協議棧網路管理 一 補充基礎知識 每個cc2530晶元出廠時候都有乙個全球唯一的32位 mac位址,當裝置連入網路的時候,每個裝置都能獲得由協調器分配的 16位短位址,協調器預設位址 0x0000 很多時候網路就是通過短位址進行管理。二 實驗現象 路由器 裝置終端傳送自己定義的裝置號給協...