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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3799|回復: 0
收起左側

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

[復制鏈接]
ID:481420 發表于 2019-6-26 10:21 | 顯示全部樓層 |閱讀模式
請看附件,純屬個人理解,有不足之處請指出
1、 先找到 InitBoard()的定義
2、 修改 OnboardKeyIntEnable 的值:
OnboardKeyIntEnable = HAL_KEY_INTERRUPT_DISABLE;//失能按鍵中斷; OnboardKeyIntEnable = HAL_KEY_INTERRUPT_ENABLE; //使能按鍵中斷,此處使能按鍵 中斷。
3、 按鍵配置函數 HalKeyConfig( OnboardKeyIntEnable, OnBoard_KeyCallback);
這個函數中失能、使能中斷執行不同的代碼。下面分別講解
a)、中斷失能 清除中斷使能寄存器。

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

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



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



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


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


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

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

評分

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

查看全部評分

回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品一区二区在线观看 | 久久久av一区| 久久久久亚洲精品 | 99精品免费久久久久久日本 | 国产精品永久免费 | 在线观看特色大片免费网站 | 精品久久精品 | 国产一区二区 | 亚洲看片 | 中文字幕成人网 | 国产在线一区二区三区 | a欧美 | 欧美日韩一区在线 | 久久免费观看视频 | 四虎影视一区二区 | 久久精彩视频 | 蜜臀久久 | 久久综合一区 | 极情综合网| 日韩aⅴ视频 | 国产精品精品视频一区二区三区 | 亚洲网站在线播放 | 天天干夜夜操视频 | 男人天堂社区 | 狠狠躁夜夜躁人人爽天天高潮 | 国产精品国产馆在线真实露脸 | 欧洲亚洲视频 | 第四色播日韩第一页 | 欧美精品在线视频 | 国产乱码精品一区二区三区五月婷 | 国产精品福利在线 | 一区二区在线免费观看 | 亚洲成人免费视频 | aaaa日韩| 国内精品视频一区二区三区 | 伊人久久免费 | 天天综合久久网 | 精品成人佐山爱一区二区 | 性欧美xxxx | 一区二区福利视频 | 浴室洗澡偷拍一区二区 |