




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于GenericApp硬件:PC 一 兩仿真 一軟件:XP/win7/8/8.1IAR8.10端收到后Led1也閃爍。工程路徑:CC2530\第5章zigbee協(xié)議棧應用與組網(wǎng)\13.基于GenericApp無線收發(fā)實驗一 分析#include#include"hal_drivers.h"http://硬件驅(qū)動頭#include //操作系統(tǒng)頭文件#include //操作系統(tǒng)任務頭文件#ifdefinedMT_TASK //串口應用頭文件#include#include#include //網(wǎng)絡(luò)層頭文件#include //應用支持層頭文件#include //設(shè)備對象頭文件#ifdefined(ZIGBEE_FREQ_AGILITY)||defined(ZIGBEE_PANID_#include#ifdefined(ZIGBEE_FRAGMENTATION#include#includeconstpTaskEventHandlerFntasksArr[]= //MAC任務循 //網(wǎng)絡(luò)層任務函數(shù) //硬件層函數(shù)#ifdefined(MT_TASK //串口支持層定義 //應用支持層任務函#ifdefined(ZIGBEE_FRAGMENTATION //設(shè)備對象層函數(shù)#ifdefined(ZIGBEE_FREQ_AGILITY)||defined(ZIGBEE_PANID_ //自己定義的任務處理函數(shù)36.const t=sizeof(tasksArr)/sizeof(tasksArr[0]uint16voidosalInitTasksvoid完成了任務ID的分配,以及所有任務的{uint8taskID=//分配內(nèi)存空間tasksEvents=(uint16*)osal_mem_alloc(sizeof(uint16) osal_memset(tasksEvents,0,(sizeof(uint16) makInit(taskID++);//MAC層的任務IDnwk_init(taskID++ //網(wǎng)絡(luò)ID分配Hal_Init(taskID++ //硬件ID分配#ifdefined(MT_TASKMT_TaskInit(taskID++APS_Init(taskID++#ifdefined(ZIGBEE_FRAGMENTATIONAPSF_Init(taskID++ZDApp_Init(taskID++#ifdefined(ZIGBEE_FREQ_AGILITY)||defined(ZIGBEE_PANID_ZDNwkMgr_Init(taskID++GenericApp_Init(taskID);//自己任務初始化函59.應的任務處理函數(shù),該數(shù)組的順序必須和osalInitTasks函數(shù)的初始化順序相同。第37 (二 協(xié)調(diào)器源碼分#include#include#include#include#include#include#include#if!defined(WIN32#include/*HAL#include#include#include#include#includeconstcId_tGenericApp_ClusterList[GENERICAPP_MAX_CLUSTERS]{20.constSimpleDescriptionFormat_tGenericApp_SimpleDesc{ //int //uint16 //uint16 // // //byte(cId_t*)GenericApp_ClusterList,//byte //byte(cId_t //byte32.endPointDesc_tbytebytevoid ingMSGPacket_t*pcktvoidvoidGenericApp_Init(bytetask_id{GenericApp_TaskID=task_id;//osal分配的任務ID隨著用戶添加任務的增多而改變GenericApp_TransID=0;//消息發(fā)送ID(多消息時有順序之分//定義本設(shè)備用來通信的APS層端點描述符GenericApp_epDesc.endPoint=GENERICAPP_ENDPOINT;//應用程序的端GenericApp_epDesc.task_id&GenericApp_TaskID;//描述符的任務 //簡單描述符 =(SimpleDescriptionFormat_tGenericApp_epDesc.latencyReq //延時策afRegister(&GenericApp_epDesc //向AF層登記描述符49.UINT16GenericApp_ProcessEvent(bytetask_id,UINT16events{ingMSGPacket_tif(events&SYS_EVENT_MSG{MSGpkt= ingMSGPacket_t*)osal_msg_receive(GenericApp_TaskIDwhile(MSGpkt{switch(MSGpkt->hdr.event{ osal_msg_deallocate((uint8*)MSGpktMSGpkt= ingMSGPacket_t*)osal_msg_receive(GenericApp_TaskID}return(events^}return72.void ingMSGPacket_t{unsignedcharswitch(pkt->clusterId{caseosal_memset(buf,0,osal_memcpy(buf,pkt->cmd.Data,if(buf[0]=='D'&&{HalLedBlink(HAL_LED_1,0,50, {HalLedSet(HAL_LED_1, }92.void{byteafAddrType_t}1-16第17-20行{#define 1#define 21-32ID、設(shè)備描述的版本、終端支持的輸入簇數(shù)目33行endPointDesc_tGenericApp_epDesc;//34byteGenericApp_TaskID;//osalID35行byteGenericApp_TransID;消息發(fā)送ID(多消息時有順序之分第38-49行GenericApp_InitvoidGenericApp_Init(bytetask_id{ GenericApp_TaskID=task_id;//osal分配的任務ID隨著用戶添加任務的增多而GenericApp_TransID=0;//消息發(fā)送ID(多消息時有順序之分//定義本設(shè)備用來通信的APS層端點描述符GenericApp_epDesc.endPoint=GENERICAPP_ENDPOINT;//應用程序的端GenericApp_epDesc.task_id&GenericApp_TaskID;//描述符的任務 //簡單描述符 =(SimpleDescriptionFormat_tGenericApp_epDesc.latencyReq= //延時策afRegister(&GenericApp_epDesc //向AF層登記描述符49.第50-72行處理函UINT16GenericApp_ProcessEvent(bytetask_id,UINT16events{ingMSGPacket_tifevents&SYS_EVENT_MSG判斷是否是{MSGpkt= ingMSGPacket_t*)osal_msg_receive(while(MSGpkt{switch(MSGpkt->hdr.event{ }osal_msg_deallocate((uint8*)MSGpktMSGpkt= ingMSGPacket_t*)osal_msg_receive( return(events^}return72.第73-92接收數(shù)void ingMSGPacket_t{unsignedcharswitch(pkt->clusterId{caseosal_memset(buf,0 //數(shù)組初始化osal_memcpy(buf,pkt->cmd.Data,2);//拷貝數(shù)據(jù)到數(shù)組if(buf[0]=='D&& //比較數(shù)據(jù){HalLedBlink(HAL_LED_1,050500);//Led1閃 //發(fā)送數(shù)據(jù) {HalLedSet(HAL_LED_1, }92.第73-92發(fā)送數(shù)void{byteafAddrType_tdevDstAddr;//設(shè)置發(fā)送模式、端點號、//無線發(fā)送數(shù)據(jù)}以上代碼是在TIGenericApp例程過來的,我們對GenericApp.c中的代碼進行了裁剪,幫助大家更容易掌握GenericApp,同時我們把協(xié)調(diào)器和終端的代碼獨立開,讓初學者不易。明白了其中的原理后,再去三 終端源碼分devStates_tGenericApp_NwkState;/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 腫瘤介入手術(shù)術(shù)中護理
- 幼兒園畢業(yè)感謝信寫作參考范文
- 公共綠地養(yǎng)護管理標準指南
- 醫(yī)學個案分享
- 醫(yī)療機構(gòu)院感防控中的垃圾分類管理
- 人事代理公司合同范本及流程
- 高考數(shù)學極坐標專題復習導學案
- 醫(yī)院運營培訓
- 小學數(shù)學競賽培訓專題資料
- 幾何教學中三角形內(nèi)角應用評析
- 2025屆新高考數(shù)學一二輪復習備考建議與做法 課件
- 全國高中生物奧林匹克競賽試題
- 配電房安全管理培訓
- 大型貨車駕駛員心理壓力與緩解考核試卷
- 建筑工程設(shè)計文件編制深度規(guī)定2016年版
- 2024年購房合同電子版
- 養(yǎng)生理療館門店管理手冊02
- 天津市建筑工程施工質(zhì)量驗收資料管理規(guī)程
- QB/T 2660-2024 化妝水(正式版)
- 2024-2030年中國藥用安瓿瓶行業(yè)現(xiàn)狀規(guī)模及供需趨勢預測報告
- 【年產(chǎn)100萬瓶漱口水工藝設(shè)計及物料衡算9400字(論文)】
評論
0/150
提交評論