色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Zigbee啟動過程及通信協(xié)議棧講解

開源嵌入式 ? 來源:開源嵌入式 ? 2023-09-03 11:39 ? 次閱讀

Z-Stack 概述:

Z-Stack 是德州儀器(Texas Instrument)的半開源 Zigbee 協(xié)議棧。Z-Stack 2.5.1a 是其發(fā)布的最后一個獨立發(fā)行版;所謂「獨立發(fā)行版」,即,提供的版本里,既包括了諸如智能家居的 Home Automation profile 相關(guān)內(nèi)容,也包括了諸如集中抄表的 Smart Energy profile 相關(guān)內(nèi)容,通俗地講,大雜燴。往后的 Z-Stack,則是捆綁在單獨的 profile 里,不再提供單獨下載。為何采取這種策略?(以下是個人理解)還得先說說 Zigbee 誕生的初衷。Zigbee 原本是為了解決低功耗局域網(wǎng)的互操作性問題,而誕生的一個基于 802.15.4 層的協(xié)議。假設(shè),你家里的燈泡采取了 SmartBlub 協(xié)議(胡謅的名字),空氣凈化設(shè)備使用了私有 AirCleaner 協(xié)議,集中控制器則是 SmartController 協(xié)議,那么恭喜你,雞同鴨講的窘狀,在你家的「智能家居」之間發(fā)生了。遇上如此惱火的事情,你當(dāng)然會把這群「智能設(shè)備」罵一遍。為了避免高素質(zhì)的你受委屈,Zigbee 誕生了:燈泡們,空調(diào)們,大伙都使用 Zigbee 協(xié)議,大家好才是真的好!然而,世界是復(fù)雜的。除了智能家居,還有很多需要互聯(lián)互通互操作的領(lǐng)域,如能源管理,醫(yī)療,建筑自動化。你會問,如此多迥異的應(yīng)用場景,彼此也會有不同的拓?fù)浜?a href="http://m.1cnz.cn/v/tag/1301/" target="_blank">通信需求,同一套 Zigbee 協(xié)議,可以滿足全部的場景嗎?Zigbee 響亮地吼道「五大受損一個對策」,Zigbee 為了應(yīng)對這些不同的場景,其不得不折騰了若干不同的 profile(配置)。

Z-Stack的使用:

使用方法簡介:一般情況下用戶只需要額外添加三個文件就可以完成一個項目。一個是主文件,存放具體的任務(wù)事件處理函數(shù);一個是這個主文件的頭文件;另外一個是以O(shè)sal開頭的操作系統(tǒng)接口文件,是專門存放任務(wù)處理函數(shù)數(shù)組tasksArr[]的文件。這樣就實現(xiàn)了Z-Stack代碼的公用,用戶只需要添加這幾個文件,編寫自己的任務(wù)處理函數(shù)就可以了。

1.學(xué)習(xí)ZigBee操作系統(tǒng)抽象層應(yīng)用程序編程接口。

2.剖析一個簡單的例程學(xué)習(xí)使用Z-Stack。

下面工作一一弄明白:

(1)頭文件----參考例程添加頭文件。

(2)系統(tǒng)初始化和使用----函數(shù)Init和ProcessEvent。

(3)任務(wù)建立,調(diào)用,切換

(4)中斷配置----熟悉編程接口即可。

(5)定時器使用----熟悉編程接口即可。

(6)驅(qū)動文件編寫和調(diào)用

(7)網(wǎng)絡(luò)建立和加入-->組網(wǎng)

(8)電源管理----節(jié)能配置----熟悉編程接口即可。

(9)編寫程序----使用五向按鍵控制四個LED燈(先看懂Simple例程)。

有選擇的讀代碼:

需要讀的代碼:APP(全部代碼);HAL和Zmain的全部或部分代碼。

其他:熟悉編程接口和使用方法。

一、Z-Stack 操作系統(tǒng)抽象層應(yīng)用程序編程接口:

1、信息管理API

信息管理 API 為任務(wù)和處理單元之間的信息交換提供了一種具有不同處理環(huán)境的機制(例如,在一個控制循環(huán)中調(diào)用中斷服務(wù)常規(guī)程序或函數(shù))。這個 API 中的函數(shù)可以使任務(wù)分配或回收信息緩沖區(qū),給其它任務(wù)發(fā)送命令信息以及接收回復(fù)信息。API包括四個函數(shù):

(1) osal_msg_allocate ():分配一個信息緩沖;

(2) osal_msg_deallocate():回收一個信息緩沖區(qū);

(3) osal_msg_send():發(fā)送命令或數(shù)據(jù)信息;

(4) osal_msg_receive():檢索/接收一條已收到的命令信息;

1、任務(wù)同步API:

這個 API 使得任務(wù)等待事件發(fā)生,并在等待期間返回控制。這個 API 中的函數(shù)可以用來為一個任務(wù)設(shè)置事件,并無論設(shè)置了什么事件都通知任務(wù)。僅有一個函數(shù)osal_set_event():用來為一個任務(wù)設(shè)置事件標(biāo)志。

2、定時器管理API:

這個API使得內(nèi)部的(Z-Stack)任務(wù)和外部的(應(yīng)用層)任務(wù)都可以使用定時器。API提供了啟動和停止一個定時器的功能,這定時器可設(shè)定遞增的一毫秒。

(1)osal_start_timer():啟動一個定時器;

(2)osal_start_timerEx():增加了taskID參數(shù)。它允許訪問者調(diào)用程序為另一個任務(wù)設(shè)置定時器;

(3)osal_stop_timer():調(diào)用函數(shù)用來停止一個已啟動的定時器;

(4)osal_stop_timerEx():用來停止一個已啟動的定時器;

(5)osal_GetSystemClock():讀取系統(tǒng)時鐘

4、中斷管理 API:

此API使得一個任務(wù)可以與外部中斷相互交流。API 中的函數(shù)允許和每個中斷去聯(lián)絡(luò)一個具體的服務(wù)例程。中斷可以啟用或禁用。在服務(wù)例程內(nèi)部,可以為其它任務(wù)設(shè)置事件。

(1)osal_int_enable():啟用一個中斷;

(2)osal_int_disable():禁用一個中斷。

5、任務(wù)管理 API:

在OSAL系統(tǒng)中,API常用于添加和管理任務(wù)。每個任務(wù)由初始化函數(shù)和事件處理函數(shù)組成。OSAL調(diào)用osalInitTasks()(應(yīng)用程序提供)去初始化這任務(wù)且 OSAL 運用一個任務(wù)列表(const pTaskEventHandlerFntasksArr[])去為每個任務(wù)(也是應(yīng)用程序提供)調(diào)用事件處理程序。

(1)osal_init_system():初始化OSAL系統(tǒng),在使用任何其它OSAL函數(shù)之前必須先調(diào)用此函數(shù)啟動OSAL系統(tǒng)。

(2)osal_start_system():任務(wù)系統(tǒng)中的主循環(huán)函數(shù)。它將檢查所有的任務(wù)事件且為含有該事件的任務(wù)調(diào)用任務(wù)事件處理函數(shù)。假如有特定任務(wù)的事件,這個函數(shù)將為該任務(wù)調(diào)用事件處理例程來處理事件。相應(yīng)任務(wù)的事件處理例程一次處理一個事件。一個事件被服務(wù)后,剩余的事件將等待下一次循環(huán)。如果這沒有事件(服務(wù)與所有任務(wù)),這個函數(shù)使處理器程序處于睡眠模式。

6、內(nèi)存管理 API:

該API 代表一個簡單的內(nèi)存分配系統(tǒng)。這些函數(shù)允許動態(tài)存儲內(nèi)存分配。

(1) osal_mem_alloc():一個簡單的內(nèi)存分配函數(shù),如果分配成功則返回一個指向緩沖區(qū)的指針;

(2) osal_mem_free():釋放存儲空間便于再次運用。

7、電源管理 API:

當(dāng)它安全關(guān)閉接收器和外部硬件時,這個系統(tǒng)為應(yīng)用程序或任務(wù)提供了一種告知OSAL的方法。接著使處理器轉(zhuǎn)入睡眠。

(1)osal_pwrmgr_device():當(dāng)升高電源或需要改變電源時(例如電池支持的協(xié)調(diào)器)這個函數(shù)應(yīng)由中心控制實體(比如ZDO)調(diào)用。

(2)osal_pwrmgr_task_state():無論這個任務(wù)是否想要保護電源,每個任務(wù)都將調(diào)用此函數(shù)。任務(wù)將調(diào)用此函數(shù)來表決是否需要OSAL保護電源或推遲電源保護。默認(rèn)情況下,當(dāng)一個任務(wù)被創(chuàng)建時,它自己的電源狀態(tài)設(shè)置為保護模式。如果該任務(wù)一直想要保護電源,就根本不必調(diào)用此函數(shù)。

8、非易失性存儲器(NV)的 API:

描述了OSAL非易失性存儲器系統(tǒng)。該系統(tǒng)為應(yīng)用程序提供了一種把信息永久保存到設(shè)備內(nèi)存的方法。它還能用于ZigBee規(guī)范要求的把某些項目永久保存到協(xié)議棧。NV函數(shù)的職能是讀寫任意數(shù)據(jù)類型的用戶自定義項目,比如結(jié)構(gòu)體和數(shù)組。用戶能通過設(shè)置適當(dāng)?shù)钠坪烷L度來讀和寫一個整體的項目或元素。API獨立于NV存儲介質(zhì),并且能用于實現(xiàn)閃存或EEPROM

每個易失性的項目都僅有一個ID,當(dāng)一些ID值由棧或平臺保留或運用時,應(yīng)用程序中有特定一系列的ID值。假如應(yīng)用程序創(chuàng)建自己的易失性項目,它必須從應(yīng)用范圍的值內(nèi)選擇一個標(biāo)識符。參考下面的列表:

(1)osal_nv_item_init():初始化NV項目,這個函數(shù)檢查存在NV的項目,假如不存在,它將通過這個函數(shù)去創(chuàng)建或初始化。

(2)osal_nv_read():從NV中讀出數(shù)據(jù)。這個函數(shù)能用來從NV 中帶有偏移的索引指向的項目讀出整個項目或一個元素。讀出的數(shù)據(jù)復(fù)制到*buf中。

(3)osal_nv_write():寫入數(shù)據(jù)到NV,這個函數(shù)用來通過帶有偏移的索引指向項目的偏移量來寫入整個NV項目。

(4)osal_offsetof():計算一個結(jié)構(gòu)體內(nèi)元素的內(nèi)存偏移量,以字節(jié)為單位。

二、Zigbee啟動過程:

1、Zigbee啟動過程詳見前面Page3。

2、Zigbee啟動過程總結(jié):

(1)Zmain.c文件中包含程序入口main()函數(shù)。

(2)main()函數(shù)主要做了做了兩件工作,一個是系統(tǒng)初始化,即有啟動代碼來初始化硬件系統(tǒng)和軟件架構(gòu)需要的各個模塊,另一個作用是執(zhí)行操作系統(tǒng)實體---main函數(shù)最后調(diào)用函數(shù)Osal_start_system()來啟動操作系統(tǒng)。

(3)用戶如何編寫應(yīng)用程序:

一般用戶只需額外添加三個文件即可完成一個項目:主文件---SampleApp.c,存放具體的任務(wù)事件處理函數(shù);主文件的頭文件---SampleApp.h;第三個是以O(shè)sal開頭的操作系統(tǒng)接口文件---OSAL_SampleApp.c,是專門存放任務(wù)處理函數(shù)數(shù)組tasksArr[]的文件。這樣就實現(xiàn)了Z-Stack代碼的公用,用戶只需要添加這幾個文件,編寫自己的任務(wù)處理函數(shù)就可以了。

(4)SampleApp例程中分為四個部分:DemoEB、CoordinatorEB、RouterEB和EndDeviceEB,在按鍵發(fā)送閃爍試驗中僅僅使用了DemoEB。

3、一個完整的初始化過程(按鍵發(fā)送閃爍實驗):

main()-->osal_init_system()-->osalInitTasks()-->SampleApp_Init(task_id)

涉及的文件為:ZMain.c、OSAL.c、OSAL_SampleApp.c和SampleApp.c,也就是啟動文件-->系統(tǒng)文件-->系統(tǒng)接口文件-->應(yīng)用程序。

4、一個完整的任務(wù)/事件處理過程(按鍵發(fā)送閃爍實驗):

main() --> osal_start_system() --> osal_run_system() --> tasksArr --> SampleApp_ProcessEvent();同樣是:啟動文件-->系統(tǒng)文件-->系統(tǒng)接口文件-->應(yīng)用程序;其中osal_start_system是個無限循環(huán):for(;;)。

1、操作系統(tǒng)接口文件---OSAL_SampleApp.c(按鍵發(fā)送閃爍實驗):

主要是定義了結(jié)構(gòu)體:函數(shù)指針數(shù)組tasksArr(包含SampleApp_ProcessEvent)和任務(wù)初始化函數(shù)osalInitTasks;其中tasksArr在OSAL.c中被調(diào)用:events=(tasksArr[idx])(idx,events)à此語句就是調(diào)用了函數(shù)指針數(shù)組中的一個函數(shù),(tasksArr[idx])為函數(shù)名,(idx,events)位函數(shù)的參數(shù)(任務(wù)號和事件),events為返回值。

2、SampleApp_Init()---按鍵發(fā)送閃爍實驗:

(1)通用應(yīng)用程序任務(wù)初始化函數(shù),這個函數(shù)在初始化過程中被調(diào)用,該函數(shù)應(yīng)該包含任何特定于應(yīng)用程序的初始化(即硬件初始化/設(shè)置,表的初始化,電源初始化等等)。

(2)自己編寫應(yīng)用初始化函數(shù)可以在這個函數(shù)基礎(chǔ)上添加其他初始化函數(shù)。

3、SampleApp_ProcessEvent()---按鍵發(fā)送閃爍實驗:

(1)通用應(yīng)用程序任務(wù)事件處理函數(shù)。這個函數(shù)被調(diào)用處理任務(wù)的所有事件。事件類型包括定時器、信息和其他用戶定義的事件(如Key事件)。

(2)自己編寫事件處理函數(shù)可以在這個函數(shù)基礎(chǔ)上添加其他用到的事件。

7、SimpleApp:

(1)分為四部分:ControllerEB、CollectorEB、SensorEB和SwitchEB;其中按鍵控制LED例程使用了ControllerEB(協(xié)調(diào)器)和SwitchEB(終端節(jié)點);無線測溫實驗使用了SensorEB(終端節(jié)點)和CollectorEB(協(xié)調(diào)器);

(2)sapi.c和sapi.h:相當(dāng)于操作系統(tǒng)接口文件---OSAL_SampleApp.c;

(3)按鍵控制LED全過程:

按下SimpleControllerEB的up鍵建立zigbee網(wǎng)絡(luò)-->按下SimpleControllerEB的up鍵允許別的模塊對其綁定-->按下SimpleSwitchEB的up鍵搜索網(wǎng)絡(luò)并加入到網(wǎng)絡(luò)-->再次按下SimpleSwitchEB的up鍵與SimpleControllerEB建立綁定-->交替按下SimpleSwitchEB的right鍵來控制SimpleControllerEB模塊的LED1的交替亮滅。

(4)按鍵控制LED程序解讀:

---SimpleControllerEB的zb_AllowBind(myAllowBindTimeout ) -->允許綁定

---SimpleSwitchEB的zb_BindDevice()-->建立綁定

---SimpleSwitchEB的zb_SendDataRequest(0xFFFE, TOGGLE_LIGHT_CMD_ID, ******)-->發(fā)送閃燈指令

---sapi.c中的SAPI_ProcessEvent調(diào)用osal_msg_receive-->接收指令并執(zhí)行

---SAPI_ProcessEvent函數(shù)位于函數(shù)數(shù)組tasksArr中被輪詢調(diào)用。

---AF_INCOMING_MSG_CMD-->SAPI_ReceiveDataIndication-->zb_ReceiveDataIndication-->最終調(diào)用HalLedSet(HAL_LED_1, HAL_LED_MODE_TOGGLE)使LED1閃爍

8、網(wǎng)絡(luò)建立(組網(wǎng)—建立網(wǎng)絡(luò)和節(jié)點加入網(wǎng)絡(luò)):

osal_init_system()-->osalInitTasks()-->ZDApp_Init(taskID++)--> ZDOInitDevice(0)--> ZDApp_NetworkInit( extendedDelay )用于啟動連接網(wǎng)絡(luò) --> osal_start_timerEx --> osal_start_system() --> osal_run_system()--> tasksArr --> ZDApp_event_loop(位于函數(shù)數(shù)組tasksArr中)--> ZDO_StartDevice --> NLME_NetworkFormationRequest(路由器或終端節(jié)點請求)--> ZDO_NetworkFormationConfirmCB(協(xié)調(diào)器確認(rèn))--> osal_set_event --> 回到ZDApp_event_loop--> ZDO_UpdateNwkStatus -->網(wǎng)絡(luò)已建立。

9、按鍵發(fā)送閃爍實驗---先看懂再改寫:

(1) SampleApp_Init:初始化讀跳線(IO口電平)判斷節(jié)點/設(shè)備類型。

(2) SampleApp_ProcessEvent:事件處理函數(shù),會被循環(huán)調(diào)用;功能是接收其他節(jié)點發(fā)來的消息或指令,其中包括按鍵指令(有按鍵按下),然后調(diào)用按鍵處理函數(shù)進行相應(yīng)的操作;接收消息事件是指接收到消息或者指令。

(3) SampleApp_HandleKeys:按鍵操作函數(shù),處理所有的按鍵事件(按鍵是指本節(jié)點的按鍵)。

(4) SampleApp_SendFlashMessage(SAMPLEAPP_FLASH_DURATION):此函數(shù)發(fā)送閃爍命令(組播),調(diào)用函數(shù)AF_DataRequest發(fā)送數(shù)據(jù)。

(5) aps_FindGroup ( SAMPLEAPP_ENDPOINT,SAMPLEAPP_FLASH_GROUP ):該節(jié)點是否位于本組之中;

aps_RemoveGroup(SAMPLEAPP_ENDPOINT, SAMPLEAPP_FLASH_GROUP ):如果節(jié)點位于本組,則從本組中移除。

(6)SampleApp_MessageMSGCB:調(diào)用HalLedBlink函數(shù)實現(xiàn)閃燈,閃爍四次,周期為250ms,占空比50%。

(7)按鍵操作總結(jié):

KEY_CHANGE事件:按鍵按下也被封裝成一條消息,但并非是其他節(jié)點發(fā)送的消息;消息不代表無線通信接收到數(shù)據(jù)。

10、無線測溫實驗---先看懂再改寫:

(1)發(fā)送流程:main() --> osal_start_system() --> osal_run_system() --> tasksArr -->SAPI_ProcessEvent --> zb_HandleOsalEvent --> myApp_ReadTemperature --> zb_SendDataRequest --> AF_DataRequest。

(2)接收流程:main() --> osal_start_system() --> osal_run_system() --> tasksArr -->SAPI_ProcessEvent --> AF_INCOMING_MSG_CMD --> SAPI_ReceiveDataIndication --> zb_ReceiveDataIndication --> osal_memcpy --> MT_ProcessEvent --> MT_ProcessIncomingCommand --> 串口發(fā)送函數(shù)HalUARTWrite。

(3)函數(shù)解讀:

11、透明傳輸實驗---先看懂再改寫:

(1)初始化:

main() --> osal_init_system() --> osalInitTasks() --> SerialApp_Init()

(2)發(fā)送流程:

main() --> osal_start_system() --> osal_run_system() --> tasksArr --> SerialApp_ProcessEvent -->SerialApp_Send()--> HalUARTRead--> AF_DataRequest

(3)接收流程:

main() --> osal_start_system() --> osal_run_system() --> tasksArr --> SerialApp_ProcessEvent --> AF_INCOMING_MSG_CMD --> SerialApp_ProcessMSGCmd

編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23347

    瀏覽量

    662417
  • ZigBee
    +關(guān)注

    關(guān)注

    158

    文章

    2271

    瀏覽量

    243165
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1510

    瀏覽量

    62292
  • 局域網(wǎng)
    +關(guān)注

    關(guān)注

    5

    文章

    761

    瀏覽量

    46345
  • 低功耗
    +關(guān)注

    關(guān)注

    10

    文章

    2418

    瀏覽量

    103842

原文標(biāo)題:Zigbee通信協(xié)議棧詳細(xì)講解與程序例程(Z-Stack)(完整源代碼在文章最后的鏈接下載)

文章出處:【微信號:KY_QRS,微信公眾號:開源嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ZigBee HA相關(guān)的組網(wǎng)、通信流程、通信協(xié)議各位大神有誰了解的?

    ZigBee HA相關(guān)的組網(wǎng)、通信流程、通信協(xié)議各位大神有誰了解的?
    發(fā)表于 10-20 13:37

    zigbee協(xié)議

    您好 ? 是所有的模塊的zigbee協(xié)議都不包括音頻的部分 還是只有cc2530這個模塊的zigbee協(xié)議
    發(fā)表于 06-24 03:47

    zigbee協(xié)議工作流程 From zigbee菜鳥筆記(十 一)精選資料分享

    一.ZigBee 協(xié)議簡介什么是ZigBee 協(xié)議呢?它和
    發(fā)表于 07-27 06:36

    如何使用ZigBee協(xié)議

    什么是ZigBee協(xié)議?如何使用ZigBee協(xié)議zig
    發(fā)表于 10-09 06:20

    SPI通信協(xié)議講解相關(guān)資料推薦

    SPI通信協(xié)議講解SPI通信概念SPI通信SPI 物理層協(xié)議層SPI 基本通訊過程通訊的起始和停
    發(fā)表于 02-17 06:09

    SPI通信協(xié)議通信過程是怎樣的?

    SPI通信協(xié)議通信過程是怎樣的?
    發(fā)表于 02-17 06:52

    CC2430和ZigBee2006協(xié)議通信模塊設(shè)計

    CC2430和ZigBee2006協(xié)議通信模塊設(shè)計 摘要:介紹了CC2430芯片的基本特性和ZigBee2006
    發(fā)表于 04-03 12:01 ?1967次閱讀
    CC2430和<b class='flag-5'>ZigBee</b>2006<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>的<b class='flag-5'>通信</b>模塊設(shè)計

    基于ARM的EPA通信協(xié)議優(yōu)化技術(shù)的研究與實現(xiàn)

    本文敘述基于ARM的EPA通信協(xié)議優(yōu)化技術(shù)的研究與實現(xiàn)的案例分析。
    發(fā)表于 10-13 16:48 ?32次下載
    基于ARM的EPA<b class='flag-5'>通信協(xié)議</b><b class='flag-5'>棧</b>優(yōu)化技術(shù)的研究與實現(xiàn)

    ZigBee協(xié)議說明書(中文版)

    ZigBee協(xié)議說明書(中文版) ZigBee協(xié)議說明書(中文版)
    發(fā)表于 11-11 17:18 ?0次下載

    stm32啟動過程

    一次性搞定stm32啟動模式與啟動過程一、stm32啟動模式二、從flash啟動過程2.1 數(shù)據(jù)在堆棧中存儲方式2.2 stm32的正常啟動過程
    發(fā)表于 12-16 16:57 ?8次下載
    stm32<b class='flag-5'>啟動過程</b>

    SPI通信協(xié)議講解

    SPI通信協(xié)議講解SPI通信概念SPI通信SPI 物理層協(xié)議層SPI 基本通訊過程通訊的起始和停
    發(fā)表于 12-22 19:19 ?26次下載
    SPI<b class='flag-5'>通信協(xié)議</b><b class='flag-5'>講解</b>

    STM32啟動過程分析

    1. 程序和數(shù)據(jù)在Flash和SRAM上的存儲結(jié)構(gòu)在講解 STM32 啟動過程之前,我們先來了解一下 STM32 的程序和數(shù)據(jù)在 Flash 和 SRAM 上到底是如何存儲的,因為有了這方面的知識
    發(fā)表于 12-23 19:55 ?12次下載
    STM32<b class='flag-5'>啟動過程</b>分析

    ZigBee模塊通信協(xié)議的樹形拓?fù)浣M網(wǎng)結(jié)構(gòu)

    Zigbee無線通信協(xié)議的樹形拓?fù)浒–o-ordinator(zigbee模塊-協(xié)調(diào)器)節(jié)點、多個Router(zigbee模塊-路由器)和Enddevice(
    的頭像 發(fā)表于 06-10 17:37 ?3034次閱讀
    <b class='flag-5'>ZigBee</b>模塊<b class='flag-5'>通信協(xié)議</b>的樹形拓?fù)浣M網(wǎng)結(jié)構(gòu)

    AUTOSAR通信協(xié)議的幾個問題(一)

    最近在研究AUTOSAR通信協(xié)議的時候產(chǎn)生了以下幾個問題。
    的頭像 發(fā)表于 01-31 09:23 ?2014次閱讀

    基于ZigBee協(xié)議的無線傳感網(wǎng)絡(luò)的建立過程

    電子發(fā)燒友網(wǎng)站提供《基于ZigBee協(xié)議的無線傳感網(wǎng)絡(luò)的建立過程.pdf》資料免費下載
    發(fā)表于 10-24 10:32 ?1次下載
    基于<b class='flag-5'>ZigBee</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>的無線傳感網(wǎng)絡(luò)的建立<b class='flag-5'>過程</b>
    主站蜘蛛池模板: 国产精品亚洲AV色欲在线观看 | 儿子你得太大了慢点插 | 亚洲视频成人 | 美女教师朝桐光在线播放 | 老色哥网站 | 国内精品乱码卡一卡2卡三卡 | 97色伦97色伦国产 | 好好的曰com久久 | yy8090理论三级在线看 | 欧美日韩视频高清一区 | 国产一区二区在线免费观看 | 国产精品2020观看久久 | 午夜国产理论 | 亚洲午夜精品A片久久不卡蜜桃 | 亚洲精品影院久久久久久 | 国产精品999| 欧美熟妇互舔20p | 天天久久狠狠色综合 | 少妇两个奶头喷出奶水了怎么办 | 天美传媒MV高清免费看 | 日本特交大片免费观看 | 嫩草欧美曰韩国产大片 | 亚洲国产成人爱AV在线播放丿 | 秋霞电影网午夜鲁丝片 | 这里只有精品网 | 奶水太多h室友 | 办公室中文BD | 97国产成人精品免费视频 | 2019久久这里只精品热在线观看 | 美女穿丝袜被狂躁动态图 | 久久免费精品视频 | 最近中文字幕在线中文视频 | 国产精品999 | 97超碰在线视频人人av | 国产AV国产精品国产三级在线L | 99久久久国产精品免费调教 | 特级做A爰片毛片免费69 | 亚洲AV精品一区二区三区不卡 | 国产成人片视频一区二区青青 | 亚洲 欧美无码原创区 | 浪潮AV色综合久久天堂 |