ZIGBEE-協(xié)議棧按鍵控制LED_第1頁
ZIGBEE-協(xié)議棧按鍵控制LED_第2頁
ZIGBEE-協(xié)議棧按鍵控制LED_第3頁
ZIGBEE-協(xié)議棧按鍵控制LED_第4頁
ZIGBEE-協(xié)議棧按鍵控制LED_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

ZIGBEE協(xié)議棧按鍵控制LEDLed驅動的流程按鍵驅動的流程按鍵控制led實例內容摘要Page

2使用協(xié)議棧,如果不細研究其實現(xiàn)的內部代碼原理,那只要了解幾個重要的參數(shù)即可以控制了對應的LED。Led接口函數(shù)(1)HalLedInit()

一旦啟動,就會調用這個LED初始化函數(shù)。本函數(shù)必須在任何其他LED函數(shù)調用之前首先調用。它按照所必需的和可選的參數(shù)初始化LED.(2)HalLedSet

本函數(shù)將為給定的LED設置ON、OFF、BLINK、FLASH或TOGGLE.(3)HalLedBlink()

本函數(shù)將根據提供的參數(shù)使給定的LED發(fā)光。

Led驅動的流程

Page

3

Led驅動的流程

Page

4Led驅動的流程按鍵驅動的流程按鍵控制led實例內容摘要Page

5按鍵驅動,主要有兩種方法。一種是普通的輪詢,不斷查詢是否按下按鍵。另一種是通過中斷來產生事件中斷與輪詢的區(qū)別 按鍵中斷和輪詢的主要區(qū)別是輪詢需要CPU定期的檢查按鍵狀態(tài),當檢測到按鍵按下那么發(fā)出HAL_KEY_EVENT消息到HAL層來執(zhí)行處理,中斷那么是當有按鍵按下立刻向HAL_KEY_EVENT發(fā)出消息,不需要CPU的檢查。輪詢的實時性比中斷要差點,推薦用中斷方式。按鍵驅動的流程Page

6查詢法函數(shù)調用流程如下:

InitBoard(OB_READY);》HalKeyConfig()配置一定時器為輪詢按鍵作準備——>時間一到觸發(fā)事件HAL_KEY_EVENT,并調用系統(tǒng)任務事件調用hal_driver.c中Hal_ProcessEvent()——

>調用HalKeyPoll()得到按鍵值——>調用OnBoard.c中按鍵回調函數(shù)OnBoard_KeyCallback()進一步處理——調用OnBoard_SendKeys()構造消息包,準備觸發(fā)應用按鍵事件【注意這個應用之前必須通過RegisterForKeys()注冊接收按鍵事件的任務ID】——>調用osal_msg_send()向系統(tǒng)發(fā)送消息——>調用osal_set_event()設置事件發(fā)生標志——>調用SampleApp_ProcessEvent()處理事件——>最終調用SampleApp_HandleKeys()處理具體按鍵事件

按鍵驅動的流程Page

7中斷法函數(shù)調用流程如下:

HalKeyConfig()進行按鍵中斷配置——>按鍵引起中斷進入中斷函數(shù)HAL_ISR_FUNCTION()(該函數(shù)在hal_key.c中)——>調用halProcessKeyInterrupt()對按鍵中斷進行下一步處理:去除中斷標志,啟動一定時器——>時間一到觸發(fā)系統(tǒng)任務事件調用hal_driver.c中Hal_ProcessEvent()——>

調用HalKeyPoll()得到按鍵值——>調用OnBoard.c中OnBoard_KeyCallback()進一步處理——>調用OnBoard_SendKeys()構造消息包,準備觸發(fā)應用按鍵事件KEY_CHANGE【注意這個應用之前必須通過RegisterForKeys()注冊接收按鍵事件的任務ID】——>調用osal_msg_send()向系統(tǒng)發(fā)送消息——>調用osal_set_event()設置事件發(fā)生標志——>調用SampleApp_ProcessEvent()處理事件——>最終調用SampleApp_HandleKeys()處理具體按鍵事件

按鍵驅動的流程Page

8添加自己的按鍵驅動步驟:第一步:修改hal_key.c

1、修改SW_6所在IO口,對應自己開發(fā)板上的按鍵 2、修改觸發(fā)方式 3、修改對應的中斷一些相關標志位 4、不需要用到TI的搖桿J-STICK,所以把代碼注釋掉第二步:修改hal_board_cfg.h文件 5、修改SW_6所在IO口第三步:修改OnBoard.C文件。在ZMain.C目錄樹下: 6、是否使能中斷第四部:SampleApp_ProcessEvent中 7、添加caseKEY_CHANGE,修改按鍵效勞程序

按鍵驅動的流程Page

9Led驅動的流程按鍵驅動的流程按鍵控制led實例內容摘要Page

10本實例主要是通過按鍵控制led的亮滅。

Page

11

Led驅動的流程

Page

12

Led驅動的流程

Page

溫馨提示

  • 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

提交評論