日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

keypad(键盘矩阵)指南

發布時間:2023/12/19 综合教程 18 生活家
生活随笔 收集整理的這篇文章主要介紹了 keypad(键盘矩阵)指南 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

keyPad

簡介

Air724UG支持6X6鍵盤矩陣,可以在luat二次開發的方式應用,但注意AT版本不支持鍵盤功能。

API說明

API接口 描述
powerKey.setup(longPrd, longCb, shortCb) 開機鍵功能配置

常用api_1介紹
常用api_2介紹

示例

1.創建一個tKeypad表,儲存所有按鍵值(16個鍵盤元素+1個開關機鍵元素)

--每個元素的索引為行列值拼接而成的字符串,值為按鍵名的字符串
--例如:按鍵名為"1"的行值為5,列值為3,則["53"] = "1"
local tKeypad =
{ 
   
    ["53"] = "1",["52"] = "2",["51"] = "3",["50"] = "A",
    ["43"] = "4",["42"] = "5",["41"] = "6",["40"] = "B",
    ["33"] = "7",["32"] = "8",["31"] = "9",["30"] = "C",
    ["23"] = "*",["22"] = "0",["21"] = "#",["20"] = "D",
    ["255255"] = "開關機"
}

2.定義某個keyName按鍵的長按下消息處理函數

local function keyLongPressTimerCb(keyName)
    log.info("keypad.keyLongPressTimerCb",keyName)

3.定義一個按鍵消息處理函數

--按鍵消息處理函數
local function keyMsg(msg)
    --保存按鍵名
    --msg.key_matrix_row:行索引
    --msg.key_matrix_col:列索引

    local keyName = tKeypad[msg.key_matrix_row..msg.key_matrix_col]  
    log.info("keyMsg",msg.key_matrix_row,msg.key_matrix_col,msg.pressed,keyName)  
    if msg.pressed then      
        --第一個參數:keyName按鍵的長按消息處理函數
        --第二個參數:超時時間為3秒
        --第三個參數:按鍵名
        sys.timerStart(keyLongPressTimerCb,300,keyName)
    end
end

4.注冊按鍵消息處理函數

rtos.on(rtos.MSG_KEYPAD,keyMsg)

5.初始化鍵盤陣列

--第一個參數:固定為rtos.MOD_KEYPAD,表示鍵盤  
--第二個參數:目前無意義,固定為0  
--第三個參數:鍵盤陣列keyin標記,例如使用了keyin2、keyin3、keyin4、keyin5,則第三個參數為1<<2|1<<3|1<<4|1<<5 = 0x3C    行
--第四個參數:鍵盤陣列keyout標記,例如使用了keyout0、keyout1、keyout2、keyout3,則第四個參數為1<<0|1<<1|1<<2|1<<3 = 0x0F  列
rtos.init_module(rtos.MOD_KEYPAD,0,0x3c,0x0F)

6.把鍵盤陣列keyin標記和keyout標記軟排線接口插入模塊相對印引腳,比如鍵盤的keyin2對印模塊的keyin2腳


7.在了解并修改了DEMO后將demo和對應的底包下載到開發板,下載的方式這里不詳細說明請參考環境搭建中的燒錄章節。


8.下載完成后重啟,我們隨便按一個按鍵,可以在luatools工具上看到打印的數據。


比如按下1鍵時:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-FSeNWzYu-1624771263903)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210328182956060_微信截圖_20210328161906.png “undefined”)]

按下A鍵時:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-79nptfPX-1624771263906)(http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20210328183038808_微信截圖_20210328163505.png “undefined”)]


常見問題

為什么按下按鍵時沒反應?
看下按鍵引腳是否與模塊引腳是否接對?鍵盤是不是ok?

相關資料以及開發板購買鏈接

Air724UG開發板
Air724 開發板使用說明

總結

以上是生活随笔為你收集整理的keypad(键盘矩阵)指南的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。