無線點燈實驗教學_第1頁
無線點燈實驗教學_第2頁
無線點燈實驗教學_第3頁
無線點燈實驗教學_第4頁
無線點燈實驗教學_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第14課無線點燈實驗目錄:實驗內(nèi)容硬件電路設計軟件設計目錄:實驗內(nèi)容硬件電路設計軟件設計實驗內(nèi)容網(wǎng)關遠程控制LED的亮暗。計算機通過串口,向網(wǎng)關發(fā)送指令,網(wǎng)關接收到指令之后,將消息廣播到網(wǎng)絡中節(jié)點通過接收到的網(wǎng)絡廣播信息,控制所在LED的亮暗通斷。通信協(xié)議的制定1·電腦與網(wǎng)關間串口通信協(xié)議0x300x010x01節(jié)點一LED點亮0x300x010x00節(jié)點一LED熄滅0x300x020x01節(jié)點二LED點亮0x300x020x00節(jié)點二LED熄滅2·網(wǎng)絡間通信協(xié)議0x800x010x01節(jié)點一LED點亮0x800x010x00節(jié)點一LED熄滅0x800x020x01節(jié)點二LED點亮0x800x020x00節(jié)點二LED熄滅目錄:實驗內(nèi)容硬件電路設計軟件設計硬件電路設計1·LED電路串口電路設計天線電路的設計作為無線通信中的關鍵部分,天線主要用來輻射或者接收電磁波,因此可以將天線看成是無線電磁波的輸入口,是一種導行波與自由空間波之間的轉換期間。對于發(fā)射機而言,高頻電流經(jīng)過饋線送到發(fā)射天線,發(fā)射天線將高頻電流轉換為電磁波,發(fā)射出去而對于接收機,將來自一定方向的電磁波轉換為高頻電流,通過饋線送回輸入回路。PCB布局

對于Zigbee模塊,要求天線的輻射方向為全向,因此,一般使用偶極子,單極子或者倒F天線。在設計的過程中可以將天線單獨設計,也可以將天線和模塊整體設計,一般主要從性能,尺寸和成本三方面考慮,在此我們使用的是倒F天線。目錄:實驗內(nèi)容硬件電路設計軟件設計網(wǎng)關編程串口端程序設計:

步驟: 1·串口初始化 2·登記任務號 3·串口收發(fā)串口初始化我們看到workspace上的MT層,發(fā)覺有很多基本函數(shù),前面帶MT。包括MT_UART.C,我們打開這個文件??吹組T_UartInit()函數(shù),這里有一個串口初始化函數(shù)的,沒錯Z-stack上有一個MT層,用戶可以選用MT層配置和調(diào)用其他驅(qū)動。進一步簡化了操作流程。串口初始化進入voidSampleApp_Init(uint8task_id)函數(shù),利用MT層的函數(shù),進行串口初始化,加入MT_UartInit();并進入這個函數(shù),可以看到:第8行:uartConfig.baudRate=MT_UART_DEFAULT_BAUDRATE;是配置波特率,我們gotodefinitionofMT_UART_DEFAULT_BAUDRATE,

可以看到:

#defineMT_UART_DEFAULT_BAUDRATEHAL_UART_BR_38400

默認的波特率是38400bps,現(xiàn)在我們修改成115200bps,修改如下:

#defineMT_UART_DEFAULT_BAUDRATEHAL_UART_BR_115200

第9行:uartConfig.flowControl=MT_UART_DEFAULT_OVERFLOW;

語句是配置流控的,我們進入定義可以看到:

#defineMT_UART_DEFAULT_OVERFLOWTRUE

默認是打開串口流控的,如果你是只連了TX/RX2根線的方式務必關流控,像我們功能底板一樣。

#defineMT_UART_DEFAULT_OVERFLOWFALSE

注意:2根線的通訊連接務必關流控,不然是永遠收發(fā)不了信息的。

第16~22行:這個是預編譯,根據(jù)預先定義的ZTOOL或者ZAPP選擇不同的數(shù)據(jù)處理函數(shù)。后面的P1和P2則是串口0和串口1。我們用ZTOOL,串口0。我們可以在option——C/C++的CompilerPreprocessor地

登記任務號在SampleApp_Init();剛添加的串口初始化語句下面加入語句:

//登記任務號意思就是把串口事件通過task_id登記在SampleApp_Init();里面。發(fā)送函數(shù)經(jīng)過前面兩個步驟,現(xiàn)在串口已經(jīng)可以發(fā)送信息了。我們在剛剛添加初始化代碼后面加入一條上電提示HelloWorld的語句。

HalUARTWrite(0,”HelloWorld\n”,12);(串口0,‘字符’,字符個數(shù)。)最后再開頭加上#include“MT_UART.h”接收函數(shù)將接受數(shù)據(jù)的回調(diào)函數(shù)進行修改:接收函數(shù)串口數(shù)據(jù)接收處理通信模式配置網(wǎng)關向網(wǎng)絡中廣播數(shù)據(jù)SampleApp_BroadCast_DstAddr.addrMode=(afAddrMode_t)AddrBroadcast;SampleApp_BroadCast_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;SampleApp_BroadCast_DstAddr.addr.shortAddr=0xffff;數(shù)據(jù)發(fā)送函數(shù)voidNode1_process(charstate){charbuffer_on[3]={0x80,0x01,0x01};charbuffer_off[3]={0x80,0x01,0x00};if(state==1){if(AF_DataRequest(&SampleApp_BroadCast_DstAddr,&SampleApp_epDesc,SAMPLEAPP_Node1_CLUSTERID,3,(uint8*)&buffer_on,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS){}else{//Erroroccurredinrequesttosend.}}elseif(state==0){if(AF_DataRequest(&SampleApp_BroadCast_DstAddr,&SampleApp_epDesc,SAMPLEAPP_Node1_CLUSTERID,3,(uint8*)&buffer_off,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS){}else{//Erroroccurredinrequesttosend.}}}voidNode2_process(charstate){charbuffer_on[3]={0x80,0x02,0x01};charbuffer_off[3]={0x80,0x02,0x00};if(state==1){if(AF_DataRequest(&SampleApp_BroadCast_DstAddr,&SampleApp_epDesc,SAMPLEAPP_Node2_CLUSTERID,3,(uint8*)&buffer_on,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS){}else{//Erroroccurredinrequesttosend.}}elseif(state==0){if(AF_DataRequest(&SampleApp_BroadCast_DstAddr,&SampleApp_epDesc,SAMPLEAPP_Node2_CLUSTERID,3,(uint8*)&buffer_off,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS){}else

溫馨提示

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

評論

0/150

提交評論