久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3694|回復: 0
打印 上一主題 下一主題
收起左側(cè)

CC2530單片機、ZStack協(xié)議棧中按鍵中斷方式+長按短按功能

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:481420 發(fā)表于 2019-6-26 10:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請看附件,純屬個人理解,有不足之處請指出
1、 先找到 InitBoard()的定義
2、 修改 OnboardKeyIntEnable 的值:
OnboardKeyIntEnable = HAL_KEY_INTERRUPT_DISABLE;//失能按鍵中斷; OnboardKeyIntEnable = HAL_KEY_INTERRUPT_ENABLE; //使能按鍵中斷,此處使能按鍵 中斷。
3、 按鍵配置函數(shù) HalKeyConfig( OnboardKeyIntEnable, OnBoard_KeyCallback);
這個函數(shù)中失能、使能中斷執(zhí)行不同的代碼。下面分別講解
a)、中斷失能 清除中斷使能寄存器。

在 HAL_KEY_POLLING_VALUE 時間后產(chǎn)生一個 HAL_KEY_EVENT 事件。找到這個事件的 處理函數(shù),如下圖所示:

圖 1 禁用中斷的處理函數(shù)
在 HalKeyPoll();中進行按鍵的掃描,如果有按鍵按下,記錄鍵值,并執(zhí)行按鍵處理函數(shù) OnBoard_KeyCallback();100ms 后再次產(chǎn)生HAL_KEY_EVENT 事件,相當于 100ms 輪詢一 次。
b)、中斷使能
注意中斷使能時,如果用戶是普通案件代替五向按鍵,不能用五向按鍵的宏定義,需要 自己重定義,否則會出現(xiàn)錯誤。
重定義如下:



如果中斷使能,則進入按鍵中斷的配置: a)、配置 SW1 邊沿觸發(fā)、設(shè)置中斷初始條件 b)、配置 SW2 邊沿觸發(fā)、設(shè)置中斷初始條件 c)、停止按鍵輪詢。
4、找到按鍵的中斷處理函數(shù),并進行更改
按鍵 P0 口的中斷處理函數(shù)為 HAL_ISR_FUNCTION( halKeyPort0Isr, P0INT_VECTOR )
當有中斷產(chǎn)生是,執(zhí)行 halProcessKeyInterrupt 函數(shù)。 代碼如下:



a)、對按鍵 SW6
檢測到按鍵邊沿后,產(chǎn)生 HAL_KEY_EVENT 事件,HalKeyPoll ()函數(shù)中記錄 keys= HAL_KEY_SW_6 的值,并將其發(fā)送給 MyApp_TaskID 任務。MyApp_TaskID 中檢測到按鍵 改變,產(chǎn)生 KEY_CHANGE 事件,調(diào)用按鍵處理函數(shù)
MyApp_HandleKeys()。
b)、對按鍵 SW7(有按鍵長按短按的功能)
按鍵按下檢測到上升邊沿,記錄時間 t1;              將觸發(fā)邊沿改變成下降沿觸發(fā),按鍵松開時記


錄系統(tǒng)時間 T2。全局變量 MyApp_Key_differnt_Time=t2-t1; 之后又進入到 HalKeyPoll
(void)處理函數(shù)中;


Keybuf1 和 keybuf2 用來檢測按鍵是否產(chǎn)生了一個按下&抬起的動作,如果不這么做, 按鍵平時為高電平,抬起按鍵后也為高電平,用 Keybuf1 和keybuf2 作為按鍵按下抬起 完成的標志位。然后的過程和 SW6 類似。
4、 MyApp_TaskID 任務中對按鍵的實際處理代碼 MyApp_HandleKeys(); 按鍵 SW6 不做講解,對 SW7 的代碼如下:
長按超過 3000ms,執(zhí)行清除 NV 的動作 小于 3000ms,執(zhí)行功率改變的動作。

pdf格式文檔51黑下載地址:
Zstack中將按鍵設(shè)置為_中斷方式.pdf (505.2 KB, 下載次數(shù): 22)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 蜜月aⅴ国产精品 | 成人免费网站www网站高清 | 精品国产乱码一区二区三 | 三级av在线 | 日本不卡视频在线播放 | 在线中文一区 | 亚洲电影一区二区三区 | www.狠狠干 | 国产在线观看一区二区三区 | 中文字幕一区在线观看视频 | 日韩av一区二区在线 | 精品在线一区 | 91成人免费电影 | 中文字幕在线网 | 精品欧美一区二区在线观看欧美熟 | 日本亚洲一区二区 | 日日夜夜精品视频 | 日本不卡一区二区三区 | 黑人巨大精品欧美一区二区免费 | 精品欧美一区免费观看α√ | 亚洲女人天堂成人av在线 | 欧美国产一区二区三区 | 亚洲欧美中文字幕 | 国产欧美在线观看 | 国产午夜精品久久久 | 成人精品久久久 | 亚洲精品久久国产高清情趣图文 | 久久精品免费看 | 亚洲欧美视频在线观看 | 国产日韩亚洲欧美 | 中文字幕视频在线观看 | 玖玖玖在线观看 | 欧美激情精品久久久久 | 成人免费一区二区 | 黄免费观看 | 99视频| 美女一级黄 | 久久国产美女视频 | 日韩av在线免费 | 精品国产不卡一区二区三区 | 国产成人精品一区二区三区在线 |