新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于ZigBee Mesh網絡的無線串口設計

        基于ZigBee Mesh網絡的無線串口設計

        作者: 時間:2011-05-24 來源:網絡 收藏

        Z—Stack采用操作系統的思想來構建,采用任務輪循機制,當各層初始化之后,系統進入低功耗模式,當任務有事件發生時,喚醒系統,開始進入中斷處理任務事件,結束后繼續進入低功耗模式。如果同時有幾個事件發生,判斷優先級,逐次處理事件。Z—Stack的工作流程如圖7所示。

        本文引用地址:http://www.104case.com/article/156264.htm

        g.jpg


        3.3 程序流程
        因為Z—Stack是采用任務輪循機制,GenericApp是屬于其中的一個任務,在文件GenericApp.c中的任務初始化函數GenericApp_Init()中添加初始化代碼,在GenericApp_ProcessEven()函數中添加收發事件Serial_RecEven和Serial_TranEven的處理函數。圖8和圖9是GenericApp_Init()函數流程圖和GenericApp_ProcessEven()函數流程圖。

        h.jpg

        i.jpg


        圖中初始化NV Flash是用以儲存其他節點地址名字對應表。
        當節點上電加入后,便會執行GenericApp_Init()函數,初始化串口,并向中的其他節點以廣播的方式發送其網絡地址和名字。
        當網絡中的其他節點接收到數據時,便會觸發接收數據事件,GenericApp_ProcessEven()函數判斷是串口接收數據命令還是儲存網絡地址命令,如果是前者,便將數據寫到串口;如果是后者則先判斷是否來自于廣播方式發送來的數據:若是則儲存該網絡地址和名字,并且以單播的方式回饋本節點的網絡地址,保證網絡中的各個節點都知道其他節點的地址和名字;若不是就儲存該網絡地址和名字,不用反饋本節點的網絡地址和名字。
        當GenericApp_ProcessEven()函數檢測到Serial_TranEven事件發生時,便讀串口并將數據按照約定的格式發送出去。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 贞丰县| 普宁市| 东明县| 五台县| 光泽县| 延川县| 会理县| 吐鲁番市| 射洪县| 扶余县| 德州市| 沙田区| 库尔勒市| 天长市| 嫩江县| 泰和县| 永济市| 鄂托克前旗| 泌阳县| 庆云县| 平山县| 长治市| 荣昌县| 建昌县| 新竹县| 个旧市| 信丰县| 朝阳市| 长寿区| 泊头市| 宜章县| 佛教| 周口市| 定西市| 哈尔滨市| 黔江区| 奉节县| 城固县| 都匀市| 彰化县| 温宿县|