zigbee的基本流程:由協調器的組網(建立pan id),終端裝置和路由裝置發現網路以及加入網路。
1.1 進入程式入口main()。
zmain.c中
c++ code
int main( void )
// main()
1.2 給任務新增id
sapi.c中
c++ code
1.3 初始化zigbee協議棧網路
c++ code
如果設定devstate為dev_hold,則不會執行zdoinitdevice;反之,系統會呼叫此函式是裝置組網或者入網。看下這個函式完成的功能是什麼樣子的。zdoinitdevice是裝置在網路中啟動。它會讀取nv中的zcd_nv_startup_option選項決定是否恢復網路狀態。如果應用層強制進行新的join操作,它應該在呼叫這個函式之前設定zcd_nv_startup_option中的zcd_startopt_default_network_state位。可以呼叫zgwriestartupoptions()函式完成這些設定。
1.4 初始化裝置(啟動網路和設定網路型別)
c++ code
1.5 定時開啟網路
c++ code
1.6 啟動裝置
c++ code
1.7 開啟網路
zdobject.c
c++ code
1.8 開啟網路事件
c++ code
kernel網路協議棧初始化
kernel的網路初始化順序 core initcall sock init fs initcall inet init subsys initcall net dev init device initcall 裝置驅動初始化 網路基礎系統初始化 第一步,使用core initcall初始化巨集修飾...
TCP IP協議棧初始化
這已經是第六篇了。但協議棧的初始化還沒有說完。不得不承認協議棧還是很複雜的。越是牛b的東西,就越複雜。就像一門手藝一樣,當你可以做到別人都不能達到的複雜度的時候,你就是大師了。還有人說,想要精通一樣技術,你必須重複它10萬次以上。子曰 溫故而知新 看多了,就能明白其中的奧秘了。當然一些實踐還是必不可...
ZigBee模組 zigbee協議棧網路管理
zigbee協議棧網路管理 一 補充基礎知識 每個cc2530晶元出廠時候都有乙個全球唯一的32位 mac位址,當裝置連入網路的時候,每個裝置都能獲得由協調器分配的 16位短位址,協調器預設位址 0x0000 很多時候網路就是通過短位址進行管理。二 實驗現象 路由器 裝置終端傳送自己定義的裝置號給協...