10_zigbee網絡通信的實現(xiàn)_添加目錄_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄 目錄10_ZIGBEE 網絡通信的實現(xiàn) 網絡通信的實現(xiàn)............................................................................................................1一、控制臺的基本結構.......................................................................

2、................................................1二、第一個命令’H’幫助..................................................................................................................3三、廣播........................................

3、....................................................................................................6四、點對點通信................................................................................................................

4、.................8五、遠程..........................................................................................................................................13五、總結......................................................

5、....................................................................................2010_ZigBee 網絡通信的實現(xiàn) 網絡通信的實現(xiàn)----(轉載請注明出處 轉載請注明出處 774910349@qq.com)Everhuai 寫于 寫于 2011-12-24上一次筆記中主要講了一些原理性的東西,現(xiàn)在將對我的代碼進行解讀。一、控制臺的基本結構 一、控

6、制臺的基本結構在代碼中我單獨為控制臺增加了兩個文件 Console.c 和 Console.h。#ifndef CONSOLE_H#define CONSOLE_H#ifdef __cplusplusextern “C“{#endif#define USER_DEBUG 1 //調試 調試#undef USER_DEBUG//函數(shù)指針原型 函數(shù)指針原型typedef void (*console_f)(void); str

7、uct console_config{console_f console; //入口函數(shù)指針 入口函數(shù)指針console_f menu;//打印菜單 打印菜單console_f broadcast; //廣播函數(shù)指針 廣播函數(shù)指針console_f search; //搜索節(jié)點 搜索節(jié)點console_f cmd;

8、 //通過無線發(fā)送命令給節(jié)點進行操作的函數(shù)指針 通過無線發(fā)送命令給節(jié)點進行操作的函數(shù)指針console_f serialCB; //提供給串口 提供給串口{(void)port;#ifdef USER_DEBUG//為了節(jié)省資源,只有調試的時候才使用該 為了節(jié)省資源,只有調試的時候才使用該 LED 指示串口工作狀態(tài) 指示串口工作狀態(tài)HalLedSet( HAL_LED_2, HAL_LED_MODE_T

9、OGGLE );#endif //USER_DEBUGif ((event //第一次觸發(fā)任務 第一次觸發(fā)任務 SERIALAPP_SEND_EVTconsole.serialCB(); //用于把串口讓給不同的任務 用于把串口讓給不同的任務}}操作完成是使用語句console.serialCB = console.console; //釋放串口 釋放串口把串口還給控制臺。二、第一個命令’ 二、第一個命令’h

10、’幫助 幫助現(xiàn)在來講一下命令是如何實現(xiàn)的,這里以’h’幫助命令為例;從前面我們知道控制臺的入口函數(shù)是 console_entry(),static void console_entry(void){static uint8 commond = 0; //保存命令 保存命令uint8 *IEEEAddr;uint16 nwkAddr;if(commond != 0) //命令還沒有執(zhí)行完畢 命令

11、還沒有執(zhí)行完畢{goto cmd;//運行命令 運行命令}//讀取命令, 讀取命令,2 個字節(jié),格式:命令 個字節(jié),格式:命令 + 回車 回車*console.Console_TxLen = HalUARTRead(CONSOLE_PORT, console.Console_TxBuf+STR_START, CONSOLE_TX_MAX); //以十六進制形式打印輸入命令字節(jié)數(shù) 以十六進制形式打印輸入命令字節(jié)數(shù),前三字節(jié)為命令 前三字

12、節(jié)為命令show_hex(console.Console_TxLen, console.Console_TxBuf+STR_START+3, 1); //串口調試助手把回車當成兩個字符 串口調試助手把回車當成兩個字符 '\t' '\n'if((*console.Console_TxLen != 2) && (*console.Console_TxLen != 3)) // 命

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論