zStack學習筆記(原創,絕對不是抄的 )

2022-01-23 18:35:47 字數 1179 閱讀 9444

我之前寫的文章都沒寫上面那句,但是這篇寫了,主要是因為zstack文章抄襲太嚴重……故此宣告

因為涉及到資料的雙向互動問題,所以在這裡我考慮使用協議棧來實現資料的收發。

首先說下如何在zstack中新增自己的任務。

新增任務流程如下:

1 首先定義任務函式,函式宣告如下:

uint16 functionname(byte task_id, uint16 events);

2 定義好了函式後再定義乙個用於指定任務id的函式,很簡單:

void function_init( byte task_id );

然後在void osalinittasks( void )函式中呼叫function_init函式,用於獲取任務id。不過我現在沒發現這一步到底有什麼用。

這樣就實現了自己的任務函式的新增,等待訊息相應即可。

在傳送資料上,使用af_datarequest函式實現資料傳送。這個函式的引數比較多,有點麻煩。

這個結構體的宣告如下:

typedef struct

afincomingmsgpacket_t;

真正的資料其實是在成員變數cmd中,afmsgcommandformat_t結構體的宣告如下:

typedef struct

afmsgcommandformat_t;

就這樣,可以通過這種方式獲取你所想要的資料。

zstack的串列埠通訊使用協議棧的函式來實現串列埠功能的開啟和關閉。

另外就是zstack的波特率設定其實很有意思,有這麼一串巨集定義:

#define hal_uart_br_1200 0x00

#define hal_uart_br_2400 0x01

#define hal_uart_br_4800 0x02

#define hal_uart_br_9600 0x03

#define hal_uart_br_19200 0x04

#define hal_uart_br_31250 0x05

#define hal_uart_br_38400 0x06

#define hal_uart_br_57600 0x07

#define hal_uart_br_115200 0x08

我想說的就是,實在是太可愛了~

另外就是在波特率的具體設定上,還是參看**比較好。

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

本實驗基於上一章的按鍵實驗的 新增了廣播功能,效果是enddevice端按下s1按鍵後傳送乙個廣播包,coordinator收到包後用串列埠列印出來 這一段 主要就是每檢測到一次按鍵就傳送一條廣播包,廣播包中帶有乙個id,id每發一次就加1。這裡最重要的就是af datarequest 是zstac...

Git學習筆記 原創

git是原始碼管理工具,與svn比較類似。只是svn一般用於企業內部,管理閉源的專案比較多。git主要基於網際網路的 庫管理,因此使用在開源的場景比較多,當然也可以管理私有的專案。如github,對public的專案 管理是免費的,也支援private的專案,但是是收費的。oschina也提供了gi...

原創 vue 學習筆記

從基礎開始理解和上手,請看我寫的中文注釋,幫助理解 直接把菜鳥教程的例子複製到自己的 編輯器裡看更好 菜鳥教程的好處我覺得之一是其有很多實例子,那麼就應該拿例子複製回來本地自己的編輯器看.因為菜鳥的例子左邊 右邊檢視.就很小了,不好審視.要開啟瀏覽器控制台 比如我們推薦用谷歌瀏覽器chrome在瀏覽...