• 欢迎大家分享资料!前往留言板评论即可!

ari724接入4*4矩阵键盘(随笔)

合宙 模组资料网 2年前 (2021-05-15) 294次浏览 0个评论 扫描二维码

module(..., package.seeall)

local init = 0

local keyName =  {
  ["01"] = "1",  ["02"] = "2",  ["04"] = "3",  ["05"] = "+",
  ["11"] = "4",  ["12"] = "5",   ["14"] = "6",  ["15"] = "-",
  ["21"] = "7",  ["22"] = "8",  ["24"] = "9",  ["25"] = "*",
  ["31"] = ".",   ["32"] = "0",  ["34"] = "=",  ["35"] = "/",
}

local function keyMsg(param)
  if  init ~= 0 then
    print("key", keyName[param.key_matrix_row .. param.key_matrix_col], param.pressed )
  else
    init = 1
  end
end

rtos.on(rtos.MSG_KEYPAD, keyMsg)
rtos.init_module(rtos.MOD_KEYPAD, 0, 0, 0)

ari724接入4*4矩阵键盘(随笔)

矩阵键盘                     开发板     参数值

R1 ———————–  KOUT0  (0)
R2 ———————–  KOUT1  (1)
R3 ———————–  KOUT2  (2)
R4 ———————–  KOUT3  (3)
C1 ———————– KIN0    (1)
C2 ———————– KIN1    (2)
C3 ———————– KIN3    (4)
C4 ———————– KIN4    (5)
正常使用需要每个引脚串联一个1K电阻之后再接到开发板上
kout对应 key_matrix_row   横向4行
kin 对应 key_matrix_col  纵向4列
不知道什么原因,导致在执行init_module时会产生一次键盘事件,不清楚是测试代码未删除还是为了告知系统,键盘初始化完成,为了不影响后面使用,系统上电后肚饿第一次键盘事件会被抛弃。
kin2 跟 kin5,两个暂时没法使用,接线后没有正常产生键盘事件,不确定是因为开发板的模块背面焊盘虚焊了还是系统BUG,kout4跟kout5是uart3串口共用引脚,必然要保留给外设使用(比如GPS),所以目前来说就是只有4*4可用

转载请注明原文链接:ari724接入4*4矩阵键盘(随笔)
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址