物聯(lián)網(wǎng)無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用項目四-無線傳感課件_第1頁
物聯(lián)網(wǎng)無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用項目四-無線傳感課件_第2頁
物聯(lián)網(wǎng)無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用項目四-無線傳感課件_第3頁
物聯(lián)網(wǎng)無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用項目四-無線傳感課件_第4頁
物聯(lián)網(wǎng)無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用項目四-無線傳感課件_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

項目四ZigBee無線傳感器網(wǎng)絡(luò)棧數(shù)據(jù)通信項目四ZigBee無線傳感器網(wǎng)絡(luò)棧數(shù)據(jù)通信知識目標(biāo):1.掌握zigbee無線傳感器網(wǎng)絡(luò)的信道、網(wǎng)絡(luò)號、設(shè)備類型、地址分配等知識。2.了解zigbee無線傳感器網(wǎng)絡(luò)數(shù)據(jù)包的結(jié)構(gòu)和傳輸流程。3.掌握zigbee無線傳感器網(wǎng)絡(luò)收發(fā)數(shù)據(jù)的實現(xiàn)方法。項目四ZigBee無線傳感器數(shù)據(jù)通信知識目標(biāo):項目四ZigBee無線傳感器數(shù)據(jù)通信技能目標(biāo):1.掌握zigbee無線傳感器網(wǎng)絡(luò)的組成及組網(wǎng)實現(xiàn)的方法。項目四ZigBee無線傳感器網(wǎng)絡(luò)數(shù)據(jù)通信技能目標(biāo):項目四ZigBee無線傳感器網(wǎng)絡(luò)數(shù)據(jù)通信①組網(wǎng):調(diào)用Z-Stack協(xié)議棧提供的網(wǎng)絡(luò)組建函數(shù)及網(wǎng)絡(luò)加入函數(shù),從而實現(xiàn)網(wǎng)絡(luò)的建立和節(jié)點的加入。②發(fā)送:當(dāng)需要進(jìn)行數(shù)據(jù)發(fā)送時,調(diào)用協(xié)議棧提供的無線數(shù)據(jù)發(fā)送函數(shù),實現(xiàn)數(shù)據(jù)的發(fā)送。③接收:當(dāng)有數(shù)據(jù)包到達(dá)時,通過調(diào)用協(xié)議棧提供的無線數(shù)據(jù)接收函數(shù),實現(xiàn)數(shù)據(jù)的接收。。4.1ZigBee無線數(shù)據(jù)傳輸①組網(wǎng):調(diào)用Z-Stack協(xié)議棧提供的網(wǎng)絡(luò)組建函數(shù)及網(wǎng)絡(luò)加入4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型在zigbee無線傳感網(wǎng)絡(luò)中存在三種邏輯設(shè)備類型:協(xié)調(diào)器(Coordinator)、路由器(Router)和終端設(shè)備(End-Device)。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型①協(xié)調(diào)器協(xié)調(diào)器是一個Zigbee網(wǎng)絡(luò)的第一個開始的設(shè)備,或稱為zigbee網(wǎng)絡(luò)的啟動或網(wǎng)絡(luò)的建立設(shè)備。協(xié)調(diào)器節(jié)點選擇一個信道和網(wǎng)絡(luò)標(biāo)志符,然后開始建立一個網(wǎng)絡(luò)。協(xié)調(diào)器設(shè)備在網(wǎng)絡(luò)中還可以有其他作用,比如建立安全機(jī)制、網(wǎng)絡(luò)中的綁定的建立等等。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型②路由節(jié)點允許節(jié)點加入網(wǎng)絡(luò);負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā)功能;一個路由節(jié)點可以與若干個路由節(jié)點或終端節(jié)點通信。Zigbee星型網(wǎng)絡(luò)不支持Zigbee路由。一般來說,路由器需要一直處于工作狀態(tài),功耗較高,所以需要穩(wěn)定連續(xù)的電源供電(區(qū)別于干電池供電)。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型③終端節(jié)點只需要負(fù)責(zé)加入已建立的指定網(wǎng)絡(luò)即可,終端節(jié)點不具有網(wǎng)絡(luò)維護(hù)功能。它的存儲容量要求最少,所以它可以根據(jù)自己功能需要休眠或喚醒,因此為電池供電設(shè)備,其可以實現(xiàn)Zigbee低功耗設(shè)計。一般來說,該設(shè)備需要的內(nèi)存較少(特別是內(nèi)部RAM)。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型協(xié)調(diào)節(jié)點啟動時,根據(jù)定義的搜索信道(DDEFAULT_CHANLIST)和PANID(DZDAPP_CONFIG_PAN_ID)建立網(wǎng)絡(luò);如果PANID定義為0xFFFF,則隨機(jī)產(chǎn)生PANID。路由節(jié)點和終端節(jié)點啟動后,搜索指定的PANID(DZDAPP_CONFIG_PAN_ID)網(wǎng)絡(luò),并加入網(wǎng)絡(luò)。如果PANID定義為0xFFFF,則可加入其他網(wǎng)絡(luò)。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型對每個節(jié)點有兩個任務(wù),具體如下。①執(zhí)行指定的網(wǎng)絡(luò)功能函數(shù)。②配置確定的參數(shù)到指定的值。網(wǎng)絡(luò)功能的設(shè)置確定了該節(jié)點的類型,參數(shù)配置和指定的值確定了堆棧的模式。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)2.堆棧模式需要被配置為指定值的堆棧參數(shù),連同這些值被稱為堆棧模式(StackProfile)。這些堆棧模式參數(shù)被Zigbee聯(lián)盟定義指定。在同一個網(wǎng)絡(luò)中的設(shè)備必須符合同一個堆棧模式(同一個網(wǎng)絡(luò)中所有設(shè)備的堆棧模式配置參數(shù)必須一致)。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)3.信道Chanel在zigbee標(biāo)準(zhǔn)協(xié)議中,2.4GHz的射頻頻段被分為16個獨立的信道。每一個設(shè)備都有一個-DEFAULT_CHANLIST的默認(rèn)信道集(0x0B~0x1A)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)3.信道Chanel4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)3.信道Chanel

f8w2530.cxl:該文件包含了CC2530單片機(jī)的鏈接控制指令,包括堆棧的大小、內(nèi)存分配等,一般情況下不需要修改。

f8wConfig.cfg:該文件包含了信道選擇、網(wǎng)絡(luò)ID號等有關(guān)的鏈接命令。每一個設(shè)備都有一個DEFFAULT_CHANLIST的默認(rèn)信道集。要選擇哪個信道,把前面的“//”注釋刪除,其余的保留即可。例如我們的信道默認(rèn)為-DDEFAULT_CHANLIST=0x00000800//11-0x0B,只需刪除前面“//”注釋符即可。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.PANIDPANID指網(wǎng)絡(luò)編號,用于區(qū)分不同的Zigbee網(wǎng)絡(luò)。設(shè)備的PANID值由DZDAPP_CONFIG_PAN_ID來設(shè)置,如果DZDAPP_CONFIG_PAN_ID設(shè)置為0xFFFF,則協(xié)調(diào)器將產(chǎn)生一個隨機(jī)的PAN_ID。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.PANID設(shè)備的PANID值由DZDAPP_CONFIG_PAN_ID來設(shè)置,如果DZDAPP_CONFIG_PAN_ID設(shè)置為0xFFFF,則協(xié)調(diào)器將產(chǎn)生一個隨機(jī)的PAN_ID。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.PANID設(shè)備的PANID值由DZDAPP_CONFIG_PAN_ID來設(shè)置,如果DZDAPP_CONFIG_PAN_ID設(shè)置為0xFFFF,則協(xié)調(diào)器將產(chǎn)生一個隨機(jī)的PAN_ID。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)5.描述符Zigbee網(wǎng)絡(luò)中的所有設(shè)備都有一些描述符,用來描述設(shè)備類型和應(yīng)用方式。描述符包含節(jié)點描述符、電源描述符和默認(rèn)用戶描述符等,通過改變這些描述符可以定義自己的設(shè)備。描述符的定義和創(chuàng)建配置項在文件ZDOConfig.h和ZDOConfig.c中完成,描述符信息可以被網(wǎng)絡(luò)中的其他設(shè)備讀取。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.2工作流程①調(diào)用協(xié)議棧提供的組網(wǎng)函數(shù)、加入網(wǎng)絡(luò)函數(shù),實現(xiàn)網(wǎng)絡(luò)的建立與節(jié)點的加入。②發(fā)送設(shè)備調(diào)用協(xié)議棧提供的無線數(shù)據(jù)發(fā)送函數(shù),實現(xiàn)數(shù)據(jù)的發(fā)送。③接收設(shè)備調(diào)用協(xié)議棧提供的無線數(shù)據(jù)接收函數(shù),實現(xiàn)數(shù)據(jù)的接收。4.1ZigBee無線數(shù)據(jù)傳輸4.1.2工作流程4.1ZigBee無線數(shù)據(jù)傳輸4.1.3數(shù)據(jù)發(fā)送在Zigbee協(xié)議棧中進(jìn)行數(shù)據(jù)發(fā)送可以調(diào)用AF_DataRequest函數(shù)實現(xiàn),該函數(shù)會調(diào)用協(xié)議棧里面與硬件相關(guān)的函數(shù)最終將數(shù)據(jù)通過無線發(fā)送出去。只需要掌握AF_DataRequest函數(shù)的使用方法即可。afStatus_tAF_DataRequest(afAddrType_t*dstAddr,endPointDesc_t*srcEP,uint16cID,uint16len,uint8*buf,uint8*transID,uint8options,uint8radius)4.1ZigBee無線數(shù)據(jù)傳輸4.1.3數(shù)據(jù)發(fā)送4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收當(dāng)協(xié)調(diào)器收到數(shù)據(jù)后,操作系統(tǒng)會將數(shù)據(jù)封裝成一個消息,然后放入消息隊列中,每個消息都有自己的消息ID,標(biāo)識接收到新數(shù)據(jù)的消息的ID是AF_INCOMING_MSG_CMD,其中AF_INCOMING_MSG_CMD的值是0x1A,這是在Zigbee協(xié)議棧中定義好的,用戶不可更改。Zigbee協(xié)議棧中AF_INCOMING_MSG_CMD宏的定義(在ZComDef.h文件中)4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收接收方接收成功,協(xié)議棧將觸發(fā)數(shù)據(jù)包接收事件:AF_INCOMING_MSG_CMD------>處理函數(shù)SampleApp_ProcessEvent()。4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收①對方傳遞上來的是什么類型的數(shù)據(jù)?數(shù)據(jù)的事件類型(簇ID)由pkt->clusterId決定。②傳遞上來的數(shù)據(jù)內(nèi)容是什么?數(shù)據(jù)內(nèi)容由pkt->cmd.Data決定。4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收4.1ZigBee無線數(shù)據(jù)傳輸4.2.1Zigbee數(shù)據(jù)包的結(jié)構(gòu)4.2ZigBee數(shù)據(jù)包4.2.1Zigbee數(shù)據(jù)包的結(jié)構(gòu)4.2ZigBee數(shù)4.2.2Zigbee數(shù)據(jù)傳輸流程在這里可以看出在網(wǎng)絡(luò)層管理實體一旦選擇了一個PAN標(biāo)識符,就會立刻選擇一個0x0000的16位網(wǎng)絡(luò)地址,并且設(shè)置MAC層的macShortAddressPIB屬性,使其等于所選擇的網(wǎng)絡(luò)地址。網(wǎng)絡(luò)層數(shù)據(jù)包中,體現(xiàn)了在網(wǎng)絡(luò)層中的數(shù)據(jù)以及格式,網(wǎng)絡(luò)層數(shù)據(jù)包如圖4.9所示。網(wǎng)絡(luò)層中也體現(xiàn)了源地址和目的地址與APS層基本相同。它們最大的不同是數(shù)據(jù)中加入了網(wǎng)絡(luò)層包,附加了網(wǎng)絡(luò)層數(shù)據(jù)。4.2ZigBee數(shù)據(jù)包4.2.2Zigbee數(shù)據(jù)傳輸流程4.2ZigBee數(shù)4.2.3數(shù)據(jù)包格式4.2ZigBee數(shù)據(jù)包PFY幀PFY凈荷PHR凈荷SHR凈荷MAC幀MHRR凈荷MFRR凈荷MAC凈荷MHRR凈荷NWK凈荷AHRMIC凈荷APS凈荷輔助幀HDRNWK幀APS幀4.2.3數(shù)據(jù)包格式4.2ZigBee數(shù)據(jù)包PFY幀P4.3.1串口概述1.通用異步收發(fā)器UART異步串行通信接口是嵌入式系統(tǒng)最常用的接口,可用來與上位機(jī)或其他外部設(shè)備進(jìn)行數(shù)據(jù)通信。UART是異步串行通信的總稱,它允許在串行鏈路上進(jìn)行全雙工的通信,輸入/輸出電平為TTL電平。一般來說,全雙工UART定義了一個串行發(fā)送引腳(TxD)和一個串行接收引腳(RxD),可以在同一時刻發(fā)送和接收數(shù)據(jù)。4.3利用串口收發(fā)數(shù)據(jù)4.3.1串口概述4.3利用串口收發(fā)數(shù)據(jù)4.3.1串口概述2.同步串行口SPI和I2C①串行外設(shè)端口(SerialPeripheralInterface,SPI)是一種同步串行外設(shè)端口,它與各種外圍設(shè)備以串行方式進(jìn)行通信、交換信息。SPI支持全雙工同步傳輸,可選擇以8或16位傳輸幀格式進(jìn)行傳輸,支持多種模式。②I2C總線是一個多主機(jī)的總線。這就是說I2C總線可以連接多于一個能控制它的器件。4.3利用串口收發(fā)數(shù)據(jù)4.3.1串口概述4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法①初始化串口,包括設(shè)置波特率、中斷等。②向發(fā)送緩沖區(qū)發(fā)送數(shù)據(jù)或者從接收緩沖區(qū)讀取數(shù)據(jù)。4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法①HalUARTOpen()函數(shù)原型:uint8HalUARTOpen(uint8port,halUARTCfg_t*config);功能描述:打開串口,對串口進(jìn)行初始化。4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法②HalUARTRead()函數(shù)原型:uint8HalUARTRead(uint8port,uint8*buf,uint16len);功能描述:從串口讀取數(shù)據(jù),并將其存放在buf數(shù)組中。4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法③HalUARTWrite()函數(shù)原型:uint8HalUARTWrite(uint8port,uint8*buf,uintlen);功能描述:寫信息到串口。4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作Zigbee協(xié)議棧中的串口操作主要分為3個步驟。1.串口初始。2.登記任務(wù)。3.串口發(fā)送。4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作Zigbee協(xié)議棧中的串口操作主要分為3個步驟。1.串口初始。我們打開APP目錄下的OSAL_SampleApp.c文件,找到SampleApp_Init()任務(wù)函數(shù)進(jìn)行MT層串口初始化。添加MT_UartInit();語句。4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作Zigbee協(xié)議棧中的串口操作主要分為3個步驟。2.登記任務(wù)。就是把串口事件通過task_id登記在SampleApp_Init()里。MT_UartRegisterTaskID(task_id);//登記任務(wù)號4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作3.串口發(fā)送。我們在剛剛添加初始化代碼的后面加入一條上面提示HelloWorld的語句。HalUARTWrite(0,"HelloWorld\n",12);(串口0,‘字符’,字符個數(shù))。再在預(yù)編譯加入以下一些內(nèi)容。ZIGBEEPROZTOOL_P1MT_TASKMT_SYS_FUNCMT_ZDO_FUNC4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作提示:需要在SampleApp.c這個文件里加入#include"MT_UART.h"頭文件語句。如果不想要的可以在預(yù)編譯地方把MT相關(guān)內(nèi)容注釋,不再顯示亂碼。ZIGBEEPROZTOOL_P1xMT_TASKxMT_SYS_FUNCxMT_ZDO_FUNC4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作4.3利用串口收發(fā)數(shù)據(jù)非易失性存儲器(NonVolatile,NV):即使系統(tǒng)斷電后,存儲在存儲器中的數(shù)據(jù)也不會丟失。在Zigbee協(xié)議棧中NV存儲器主要用于保存網(wǎng)絡(luò)的配置參數(shù)(如網(wǎng)絡(luò)地址等)。非易失性存儲器是指能夠永久保存信息的存儲器,設(shè)備在意外復(fù)位或者斷電的情況下不會丟失信息。協(xié)議棧在OSAL文件夾下有OSAL_Nv.h和OSAL_Nv.c文件。4.4非易失性存儲器非易失性存儲器(NonVolatile,NV):即使系統(tǒng)斷4.4.1NV操作函數(shù)①osal_nv_item_init()函數(shù)原型:uintosal_nv_item_init(uint16id,uint16len,void*buf)功能描述:NV條目初始化函數(shù)。4.4非易失性存儲器4.4.1NV操作函數(shù)4.4非易失性存儲器4.4.1NV操作函數(shù)②osal_nv_write()函數(shù)原型:uint8osal_nv_write(uint16id,uint16ndx,uint16len,void*buf)。功能描述:NV寫入函數(shù)。uint16id表示NV條目ID號;uint16ndx距離條目開始地址的偏移量;uint16len表示要寫入的數(shù)據(jù)長度;void*buf表示指向存放寫入數(shù)據(jù)緩沖區(qū)的指針。4.4非易失性存儲器4.4.1NV操作函數(shù)4.4非易失性存儲器4.4.1NV操作函數(shù)③osal_nv_read()函數(shù)原型:uint8osal_nv_read(uint16id,uint16len,void*buf)。功能描述:NV讀取函數(shù)。uint16id表示NV條目ID號;uint16ndx距離條目開始地址的偏移量;uint16len表示要讀取的數(shù)據(jù)長度;void*buf表示存放讀取數(shù)據(jù)緩沖區(qū)的指針。4.4非易失性存儲器4.4.1NV操作函數(shù)4.4非易失性存儲器4.4.2NV基本操作1.網(wǎng)絡(luò)層非易失性存儲器Z-Stack將一些網(wǎng)絡(luò)相關(guān)的重要信息都存儲到非易失性存儲器,保證在Zigbee設(shè)備意外復(fù)位或者斷電后重新啟動時,設(shè)備能夠自動恢復(fù)到原來網(wǎng)絡(luò)中。為了啟用這個功能,需要包含NV_RESTORE 編譯選項。注意,在一個最終的Zigbee網(wǎng)絡(luò)中,這個選項必須始終啟用。關(guān)閉這個選項的功能主要是為了開發(fā)調(diào)試。4.4非易失性存儲器4.4.2NV基本操作4.4非易失性存儲器4.4.2NV基本操作2.應(yīng)用層非易失性存儲器NV除了用于保存網(wǎng)絡(luò)信息,也可以用來保存應(yīng)用程序的特定信息,用戶描述符就是一個很好的例子。NV中用戶描述符ID項是ZDO_NV_UserDesc(在ZComDef.h定義)。在ZDApp_Init()函數(shù)中,調(diào)用函數(shù)Osal_nv_item_init()來初始化用戶描述符所需要的NV空間。如果之前還沒有建立這個NV空間,這個初始化函數(shù)將為用戶描述符保留空間,并且將它設(shè)置為默認(rèn)值ZDO_DefaultUserDescriptor。4.4非易失性存儲器4.4.2NV基本操作4.4非易失性存儲器4.4.2NV基本操作2.應(yīng)用層非易失性存儲器注意:如果用戶應(yīng)用程序要創(chuàng)建自己的NV項,那么必須從應(yīng)用層范圍0x0201~0x0FFF中選擇ID。4.4非易失性存儲器4.4.2NV基本操作4.4非易失性存儲器4.4.3NV基礎(chǔ)實驗NV存儲器主要的操作有初始化NV存儲器、讀NV存儲器、寫NV存儲器。這些都在OSAL文件夾下中的OSAL_Nv.h和OSAL.h文件中定義和實現(xiàn)。4.4非易失性存儲器4.4.3NV基礎(chǔ)實驗4.4非易失性存儲器4.4.4NV基礎(chǔ)實驗效果在ZigBee協(xié)議棧中,其他需要保存的一些常量數(shù)據(jù)都是使用上述方法將其存儲到NV存儲器中,這樣就可以實現(xiàn)一些關(guān)鍵數(shù)據(jù)的保存,特別是網(wǎng)絡(luò)參數(shù)的保存。4.4非易失性存儲器4.4.4NV基礎(chǔ)實驗效果4.4非易失性存儲器4.5.1幀格式介紹4.5組網(wǎng)驗證4.5.1幀格式介紹4.5組網(wǎng)驗證4.5.1幀格式介紹4.5組網(wǎng)驗證4.5.1幀格式介紹4.5組網(wǎng)驗證4.5.2組網(wǎng)測試當(dāng)終端傳感器節(jié)點入網(wǎng)以后,協(xié)調(diào)器會給終端傳感器節(jié)點分配16位的短地址。當(dāng)協(xié)調(diào)器收到終端傳感器節(jié)點發(fā)送的數(shù)據(jù)信息后,通過串口向PC機(jī)發(fā)送。其中,串口傳輸設(shè)置為:115200b/s,1位停止位,無校驗位。4.5組網(wǎng)驗證4.5.2組網(wǎng)測試4.5組網(wǎng)驗證1.Zigbee無線傳感器網(wǎng)絡(luò)是大量的傳感器節(jié)點以自組織或者多跳的方式構(gòu)成的無線網(wǎng)絡(luò)。2.Zigbee無線傳感器網(wǎng)絡(luò)是構(gòu)成物聯(lián)網(wǎng)感知層和網(wǎng)絡(luò)層的一部分,是物聯(lián)網(wǎng)的重要組成部分。3.傳感器負(fù)責(zé)在傳感器網(wǎng)絡(luò)中感知和采集數(shù)據(jù),它處于zigbee無線傳感器網(wǎng)絡(luò)的感知層,是識別物體、采集信息的設(shè)備。4.Zigbee無線傳感器網(wǎng)絡(luò)由傳感器節(jié)點、匯聚節(jié)點和任務(wù)管理節(jié)點等幾部分組成。5.Zigbee無線傳感器網(wǎng)絡(luò)的協(xié)議棧主要分為物理層、數(shù)據(jù)鏈路層(MAC)、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層5層。小結(jié)1.Zigbee無線傳感器網(wǎng)絡(luò)是大量的傳感器節(jié)點以自組織或者Thanks物聯(lián)網(wǎng)應(yīng)用的精彩未來有待你的參與Thanks物聯(lián)網(wǎng)應(yīng)用的精彩未來有待你的參與項目四ZigBee無線傳感器網(wǎng)絡(luò)棧數(shù)據(jù)通信項目四ZigBee無線傳感器網(wǎng)絡(luò)棧數(shù)據(jù)通信知識目標(biāo):1.掌握zigbee無線傳感器網(wǎng)絡(luò)的信道、網(wǎng)絡(luò)號、設(shè)備類型、地址分配等知識。2.了解zigbee無線傳感器網(wǎng)絡(luò)數(shù)據(jù)包的結(jié)構(gòu)和傳輸流程。3.掌握zigbee無線傳感器網(wǎng)絡(luò)收發(fā)數(shù)據(jù)的實現(xiàn)方法。項目四ZigBee無線傳感器數(shù)據(jù)通信知識目標(biāo):項目四ZigBee無線傳感器數(shù)據(jù)通信技能目標(biāo):1.掌握zigbee無線傳感器網(wǎng)絡(luò)的組成及組網(wǎng)實現(xiàn)的方法。項目四ZigBee無線傳感器網(wǎng)絡(luò)數(shù)據(jù)通信技能目標(biāo):項目四ZigBee無線傳感器網(wǎng)絡(luò)數(shù)據(jù)通信①組網(wǎng):調(diào)用Z-Stack協(xié)議棧提供的網(wǎng)絡(luò)組建函數(shù)及網(wǎng)絡(luò)加入函數(shù),從而實現(xiàn)網(wǎng)絡(luò)的建立和節(jié)點的加入。②發(fā)送:當(dāng)需要進(jìn)行數(shù)據(jù)發(fā)送時,調(diào)用協(xié)議棧提供的無線數(shù)據(jù)發(fā)送函數(shù),實現(xiàn)數(shù)據(jù)的發(fā)送。③接收:當(dāng)有數(shù)據(jù)包到達(dá)時,通過調(diào)用協(xié)議棧提供的無線數(shù)據(jù)接收函數(shù),實現(xiàn)數(shù)據(jù)的接收。。4.1ZigBee無線數(shù)據(jù)傳輸①組網(wǎng):調(diào)用Z-Stack協(xié)議棧提供的網(wǎng)絡(luò)組建函數(shù)及網(wǎng)絡(luò)加入4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型在zigbee無線傳感網(wǎng)絡(luò)中存在三種邏輯設(shè)備類型:協(xié)調(diào)器(Coordinator)、路由器(Router)和終端設(shè)備(End-Device)。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型①協(xié)調(diào)器協(xié)調(diào)器是一個Zigbee網(wǎng)絡(luò)的第一個開始的設(shè)備,或稱為zigbee網(wǎng)絡(luò)的啟動或網(wǎng)絡(luò)的建立設(shè)備。協(xié)調(diào)器節(jié)點選擇一個信道和網(wǎng)絡(luò)標(biāo)志符,然后開始建立一個網(wǎng)絡(luò)。協(xié)調(diào)器設(shè)備在網(wǎng)絡(luò)中還可以有其他作用,比如建立安全機(jī)制、網(wǎng)絡(luò)中的綁定的建立等等。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型②路由節(jié)點允許節(jié)點加入網(wǎng)絡(luò);負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā)功能;一個路由節(jié)點可以與若干個路由節(jié)點或終端節(jié)點通信。Zigbee星型網(wǎng)絡(luò)不支持Zigbee路由。一般來說,路由器需要一直處于工作狀態(tài),功耗較高,所以需要穩(wěn)定連續(xù)的電源供電(區(qū)別于干電池供電)。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型③終端節(jié)點只需要負(fù)責(zé)加入已建立的指定網(wǎng)絡(luò)即可,終端節(jié)點不具有網(wǎng)絡(luò)維護(hù)功能。它的存儲容量要求最少,所以它可以根據(jù)自己功能需要休眠或喚醒,因此為電池供電設(shè)備,其可以實現(xiàn)Zigbee低功耗設(shè)計。一般來說,該設(shè)備需要的內(nèi)存較少(特別是內(nèi)部RAM)。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型協(xié)調(diào)節(jié)點啟動時,根據(jù)定義的搜索信道(DDEFAULT_CHANLIST)和PANID(DZDAPP_CONFIG_PAN_ID)建立網(wǎng)絡(luò);如果PANID定義為0xFFFF,則隨機(jī)產(chǎn)生PANID。路由節(jié)點和終端節(jié)點啟動后,搜索指定的PANID(DZDAPP_CONFIG_PAN_ID)網(wǎng)絡(luò),并加入網(wǎng)絡(luò)。如果PANID定義為0xFFFF,則可加入其他網(wǎng)絡(luò)。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)1.設(shè)備類型對每個節(jié)點有兩個任務(wù),具體如下。①執(zhí)行指定的網(wǎng)絡(luò)功能函數(shù)。②配置確定的參數(shù)到指定的值。網(wǎng)絡(luò)功能的設(shè)置確定了該節(jié)點的類型,參數(shù)配置和指定的值確定了堆棧的模式。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)2.堆棧模式需要被配置為指定值的堆棧參數(shù),連同這些值被稱為堆棧模式(StackProfile)。這些堆棧模式參數(shù)被Zigbee聯(lián)盟定義指定。在同一個網(wǎng)絡(luò)中的設(shè)備必須符合同一個堆棧模式(同一個網(wǎng)絡(luò)中所有設(shè)備的堆棧模式配置參數(shù)必須一致)。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)3.信道Chanel在zigbee標(biāo)準(zhǔn)協(xié)議中,2.4GHz的射頻頻段被分為16個獨立的信道。每一個設(shè)備都有一個-DEFAULT_CHANLIST的默認(rèn)信道集(0x0B~0x1A)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)3.信道Chanel4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)3.信道Chanel

f8w2530.cxl:該文件包含了CC2530單片機(jī)的鏈接控制指令,包括堆棧的大小、內(nèi)存分配等,一般情況下不需要修改。

f8wConfig.cfg:該文件包含了信道選擇、網(wǎng)絡(luò)ID號等有關(guān)的鏈接命令。每一個設(shè)備都有一個DEFFAULT_CHANLIST的默認(rèn)信道集。要選擇哪個信道,把前面的“//”注釋刪除,其余的保留即可。例如我們的信道默認(rèn)為-DDEFAULT_CHANLIST=0x00000800//11-0x0B,只需刪除前面“//”注釋符即可。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.PANIDPANID指網(wǎng)絡(luò)編號,用于區(qū)分不同的Zigbee網(wǎng)絡(luò)。設(shè)備的PANID值由DZDAPP_CONFIG_PAN_ID來設(shè)置,如果DZDAPP_CONFIG_PAN_ID設(shè)置為0xFFFF,則協(xié)調(diào)器將產(chǎn)生一個隨機(jī)的PAN_ID。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.PANID設(shè)備的PANID值由DZDAPP_CONFIG_PAN_ID來設(shè)置,如果DZDAPP_CONFIG_PAN_ID設(shè)置為0xFFFF,則協(xié)調(diào)器將產(chǎn)生一個隨機(jī)的PAN_ID。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.PANID設(shè)備的PANID值由DZDAPP_CONFIG_PAN_ID來設(shè)置,如果DZDAPP_CONFIG_PAN_ID設(shè)置為0xFFFF,則協(xié)調(diào)器將產(chǎn)生一個隨機(jī)的PAN_ID。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)5.描述符Zigbee網(wǎng)絡(luò)中的所有設(shè)備都有一些描述符,用來描述設(shè)備類型和應(yīng)用方式。描述符包含節(jié)點描述符、電源描述符和默認(rèn)用戶描述符等,通過改變這些描述符可以定義自己的設(shè)備。描述符的定義和創(chuàng)建配置項在文件ZDOConfig.h和ZDOConfig.c中完成,描述符信息可以被網(wǎng)絡(luò)中的其他設(shè)備讀取。4.1ZigBee無線數(shù)據(jù)傳輸4.1.1開發(fā)基礎(chǔ)4.1ZigBee無線數(shù)據(jù)傳輸4.1.2工作流程①調(diào)用協(xié)議棧提供的組網(wǎng)函數(shù)、加入網(wǎng)絡(luò)函數(shù),實現(xiàn)網(wǎng)絡(luò)的建立與節(jié)點的加入。②發(fā)送設(shè)備調(diào)用協(xié)議棧提供的無線數(shù)據(jù)發(fā)送函數(shù),實現(xiàn)數(shù)據(jù)的發(fā)送。③接收設(shè)備調(diào)用協(xié)議棧提供的無線數(shù)據(jù)接收函數(shù),實現(xiàn)數(shù)據(jù)的接收。4.1ZigBee無線數(shù)據(jù)傳輸4.1.2工作流程4.1ZigBee無線數(shù)據(jù)傳輸4.1.3數(shù)據(jù)發(fā)送在Zigbee協(xié)議棧中進(jìn)行數(shù)據(jù)發(fā)送可以調(diào)用AF_DataRequest函數(shù)實現(xiàn),該函數(shù)會調(diào)用協(xié)議棧里面與硬件相關(guān)的函數(shù)最終將數(shù)據(jù)通過無線發(fā)送出去。只需要掌握AF_DataRequest函數(shù)的使用方法即可。afStatus_tAF_DataRequest(afAddrType_t*dstAddr,endPointDesc_t*srcEP,uint16cID,uint16len,uint8*buf,uint8*transID,uint8options,uint8radius)4.1ZigBee無線數(shù)據(jù)傳輸4.1.3數(shù)據(jù)發(fā)送4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收當(dāng)協(xié)調(diào)器收到數(shù)據(jù)后,操作系統(tǒng)會將數(shù)據(jù)封裝成一個消息,然后放入消息隊列中,每個消息都有自己的消息ID,標(biāo)識接收到新數(shù)據(jù)的消息的ID是AF_INCOMING_MSG_CMD,其中AF_INCOMING_MSG_CMD的值是0x1A,這是在Zigbee協(xié)議棧中定義好的,用戶不可更改。Zigbee協(xié)議棧中AF_INCOMING_MSG_CMD宏的定義(在ZComDef.h文件中)4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收接收方接收成功,協(xié)議棧將觸發(fā)數(shù)據(jù)包接收事件:AF_INCOMING_MSG_CMD------>處理函數(shù)SampleApp_ProcessEvent()。4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收①對方傳遞上來的是什么類型的數(shù)據(jù)?數(shù)據(jù)的事件類型(簇ID)由pkt->clusterId決定。②傳遞上來的數(shù)據(jù)內(nèi)容是什么?數(shù)據(jù)內(nèi)容由pkt->cmd.Data決定。4.1ZigBee無線數(shù)據(jù)傳輸4.1.4數(shù)據(jù)接收4.1ZigBee無線數(shù)據(jù)傳輸4.2.1Zigbee數(shù)據(jù)包的結(jié)構(gòu)4.2ZigBee數(shù)據(jù)包4.2.1Zigbee數(shù)據(jù)包的結(jié)構(gòu)4.2ZigBee數(shù)4.2.2Zigbee數(shù)據(jù)傳輸流程在這里可以看出在網(wǎng)絡(luò)層管理實體一旦選擇了一個PAN標(biāo)識符,就會立刻選擇一個0x0000的16位網(wǎng)絡(luò)地址,并且設(shè)置MAC層的macShortAddressPIB屬性,使其等于所選擇的網(wǎng)絡(luò)地址。網(wǎng)絡(luò)層數(shù)據(jù)包中,體現(xiàn)了在網(wǎng)絡(luò)層中的數(shù)據(jù)以及格式,網(wǎng)絡(luò)層數(shù)據(jù)包如圖4.9所示。網(wǎng)絡(luò)層中也體現(xiàn)了源地址和目的地址與APS層基本相同。它們最大的不同是數(shù)據(jù)中加入了網(wǎng)絡(luò)層包,附加了網(wǎng)絡(luò)層數(shù)據(jù)。4.2ZigBee數(shù)據(jù)包4.2.2Zigbee數(shù)據(jù)傳輸流程4.2ZigBee數(shù)4.2.3數(shù)據(jù)包格式4.2ZigBee數(shù)據(jù)包PFY幀PFY凈荷PHR凈荷SHR凈荷MAC幀MHRR凈荷MFRR凈荷MAC凈荷MHRR凈荷NWK凈荷AHRMIC凈荷APS凈荷輔助幀HDRNWK幀APS幀4.2.3數(shù)據(jù)包格式4.2ZigBee數(shù)據(jù)包PFY幀P4.3.1串口概述1.通用異步收發(fā)器UART異步串行通信接口是嵌入式系統(tǒng)最常用的接口,可用來與上位機(jī)或其他外部設(shè)備進(jìn)行數(shù)據(jù)通信。UART是異步串行通信的總稱,它允許在串行鏈路上進(jìn)行全雙工的通信,輸入/輸出電平為TTL電平。一般來說,全雙工UART定義了一個串行發(fā)送引腳(TxD)和一個串行接收引腳(RxD),可以在同一時刻發(fā)送和接收數(shù)據(jù)。4.3利用串口收發(fā)數(shù)據(jù)4.3.1串口概述4.3利用串口收發(fā)數(shù)據(jù)4.3.1串口概述2.同步串行口SPI和I2C①串行外設(shè)端口(SerialPeripheralInterface,SPI)是一種同步串行外設(shè)端口,它與各種外圍設(shè)備以串行方式進(jìn)行通信、交換信息。SPI支持全雙工同步傳輸,可選擇以8或16位傳輸幀格式進(jìn)行傳輸,支持多種模式。②I2C總線是一個多主機(jī)的總線。這就是說I2C總線可以連接多于一個能控制它的器件。4.3利用串口收發(fā)數(shù)據(jù)4.3.1串口概述4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法①初始化串口,包括設(shè)置波特率、中斷等。②向發(fā)送緩沖區(qū)發(fā)送數(shù)據(jù)或者從接收緩沖區(qū)讀取數(shù)據(jù)。4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法①HalUARTOpen()函數(shù)原型:uint8HalUARTOpen(uint8port,halUARTCfg_t*config);功能描述:打開串口,對串口進(jìn)行初始化。4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法②HalUARTRead()函數(shù)原型:uint8HalUARTRead(uint8port,uint8*buf,uint16len);功能描述:從串口讀取數(shù)據(jù),并將其存放在buf數(shù)組中。4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法③HalUARTWrite()函數(shù)原型:uint8HalUARTWrite(uint8port,uint8*buf,uintlen);功能描述:寫信息到串口。4.3利用串口收發(fā)數(shù)據(jù)4.3.2收發(fā)數(shù)據(jù)的實現(xiàn)方法4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作Zigbee協(xié)議棧中的串口操作主要分為3個步驟。1.串口初始。2.登記任務(wù)。3.串口發(fā)送。4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作Zigbee協(xié)議棧中的串口操作主要分為3個步驟。1.串口初始。我們打開APP目錄下的OSAL_SampleApp.c文件,找到SampleApp_Init()任務(wù)函數(shù)進(jìn)行MT層串口初始化。添加MT_UartInit();語句。4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作Zigbee協(xié)議棧中的串口操作主要分為3個步驟。2.登記任務(wù)。就是把串口事件通過task_id登記在SampleApp_Init()里。MT_UartRegisterTaskID(task_id);//登記任務(wù)號4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作3.串口發(fā)送。我們在剛剛添加初始化代碼的后面加入一條上面提示HelloWorld的語句。HalUARTWrite(0,"HelloWorld\n",12);(串口0,‘字符’,字符個數(shù))。再在預(yù)編譯加入以下一些內(nèi)容。ZIGBEEPROZTOOL_P1MT_TASKMT_SYS_FUNCMT_ZDO_FUNC4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作提示:需要在SampleApp.c這個文件里加入#include"MT_UART.h"頭文件語句。如果不想要的可以在預(yù)編譯地方把MT相關(guān)內(nèi)容注釋,不再顯示亂碼。ZIGBEEPROZTOOL_P1xMT_TASKxMT_SYS_FUNCxMT_ZDO_FUNC4.3利用串口收發(fā)數(shù)據(jù)4.3.3協(xié)議棧中的串口操作4.3利用串口收發(fā)數(shù)據(jù)非易失性存儲器(NonVolatile,NV):即使系統(tǒng)斷電后,存儲在存儲器中的數(shù)據(jù)也不會丟失。在Zigbee協(xié)議棧中NV存儲器主要用于保存網(wǎng)絡(luò)的配置參數(shù)(如網(wǎng)絡(luò)地址等)。非易失性存儲器是指能夠永久保存信息的存儲器,設(shè)備在意外復(fù)位或者斷電的情況下不會丟失信息。協(xié)議棧在OSAL文件夾下有OSAL_Nv.h和OSAL_Nv.c文件。4.4非易失性存儲器非易失性存儲器(NonVolatile,NV):即使系統(tǒng)斷4.4.1NV操作函數(shù)①osal_nv_item_init()函數(shù)原型:uintosal_nv_item_init(uint16id,uint16len,void*buf)功能描述:NV條目初始化函數(shù)。4.4非易失性存儲器4.4.1NV操作函數(shù)4.4非易失性存儲器4.4.1NV操作函數(shù)②osal_nv_write()函數(shù)原型:uint8osal_nv_write(uint16id,uint16ndx,uint16len,void*buf)。功能描述:NV寫入函數(shù)。uint16id表示NV條目ID號;uint16ndx距離

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論