Z Stack協議棧學習筆記4 廣播

2021-08-17 02:49:06 字數 1469 閱讀 7866

本實驗基於上一章的按鍵實驗的**,新增了廣播功能,效果是enddevice端按下s1按鍵後傳送乙個廣播包,coordinator收到包後用串列埠列印出來;

}這一段**主要就是每檢測到一次按鍵就傳送一條廣播包,廣播包中帶有乙個id,id每發一次就加1。這裡最重要的就是af_datarequest(),是zstack協議棧中的傳送資料api,宣告如下:

afstatus_t af_datarequest( afaddrtype_t *dstaddr,    //目的位址

endpointdesc_t *srcep,    //埠描述

uint16 cid,                        //簇id

uint16 len,                        //資料長度

uint8 *buf,                        //資料

uint8 *transid,                  //任務id

uint8 options,                   //傳送選項

uint8 radius )                    //跳數

接收部分

}因為傳送的是字串,因此這就簡單的列印出來即可。從這裡可以看出最終的資料儲存在pkt->cmd.data中,而afincomingmsgpacket_t結構儲存了收到的包資訊:

typedef struct

afincomingmsgpacket_t;

// generalized msg command format

typedef struct

afmsgcommandformat_t;

實驗結果

分別將coordinator與enddevice的**編譯、燒錄、上電。多次按下enddevice上的s1按鍵,可以再coordinator的串列埠資訊上看到如下資訊:

顯示序列號不連續說明有丟包的現象出現。

z stack 協議棧修改按

1.修改hal key.c檔案在hal target cc2530eb dribers hal key.c 修改 sw 6所在io口 define hal key sw 6 port p0 define hal key sw 6 bit bv 4 bv 1 改到p0.4 邊緣觸發模式 define ...

ZStack通訊 Zigbee協議棧通訊

應用都是建立在端點zdo zigbee device object 之上的,所以要實現通訊首先要定義並註冊乙個端點。註冊過程就是向端點應用鍊錶eplist增加乙個節點。註冊函式 afregister endpointdesc t epdesc 終端描述型別 typedef struct endpoi...

Z Stack協議棧中LED的定義及應用

tocz stack協議棧中led的定義及應用 z stack協議棧裡面有三個led燈的定義。具體如下 1 green led1 p1 0 2 red led2 p1 1 3 yellow led3 p1 4 被設定為裝置網路狀態指示燈,未接入網路不亮,接入網路常亮,突然斷網會閃爍一段時間再熄滅 l...