我之前寫的文章都沒寫上面那句,但是這篇寫了,主要是因為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在瀏覽...