新聞中心

        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事件發生時,便讀串口并將數據按照約定的格式發送出去。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 梨树县| 九龙县| 进贤县| 三明市| 年辖:市辖区| 普安县| 遂昌县| 许昌县| 新营市| 南靖县| 兴宁市| 资兴市| 田东县| 堆龙德庆县| 澄迈县| 西华县| 贵阳市| 陆良县| 海丰县| 蒙山县| 禹城市| 诏安县| 尚志市| 平遥县| 芮城县| 太白县| 进贤县| 新宾| 新密市| 永和县| 金堂县| 太和县| 朝阳市| 乡城县| 武乡县| 衡山县| 思南县| 顺义区| 泽州县| 青阳县| 保康县|