目录

  • keyPad
    • 简介
    • API说明
    • 示例
    • 常见问题
    • 相关资料以及开发板购买链接

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(键盘矩阵)指南相关推荐

  1. Arduino利用键盘矩阵实现计算器

    Arduino利用键盘矩阵实现计算器 运行结果演示 基本思路 基本结构 键盘数据读入 运算实现原理 实现准备 表达式运算代码 完整代码 总结 运行结果演示 基本思路 基本结构 键盘数据读入 运算实现原 ...

  2. 客制化键盘编程_客制化键盘劝退指南

    客制化键盘劝退指南 最近总感觉mac book pro的键盘不太好用,所以把家里用的杜伽K320拿到公司用了.这把键盘,樱桃的银轴,红轴的压力克数,更小的键程,用起来还是不错的. 如此一来,家里的台式 ...

  3. 【Proteus仿真】键盘矩阵扫描+LCD128x64显示

    [Proteus仿真]键盘矩阵扫描+LCD128x64显示 Proteus仿真演示 汉字取模工具和取模方式 取模工具:PCtoLCD2002 取模方式:阴码.逆向.列行式.C51格式. 主程序代码 # ...

  4. 【Proteus仿真】数码管+4x4键盘矩阵按键简易计算器

    [Proteus仿真]数码管+4x4键盘矩阵按键简易计算器 Proteus仿真 仿真器件 74HC573数据缓冲器 8位共阴数码管 主程序代码 /*-------------------------- ...

  5. 计算机键盘是编码键盘还是非编码键盘,矩阵按键原理图_矩阵按键扫描实例

    键盘分编码键盘和非编码键盘.键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘.而靠软件编程来识别的称为非编码键盘. 在一般嵌入式应用中,用的最多的是非编码键盘 ...

  6. Android 文本,软键盘使用指南

    目录 TextView的基本使用 TextView的基本属性 图文混排的三种实现方式 drawableTop,DrawableBottom,DrawableLeft,drawableRight 通过I ...

  7. 客制化键盘编程_客制化机械键盘入门指南

    数字时代,键盘是我们与世界交互的重要一环.数字公民没有一把趁手的键盘,就好像侠客没有自己的宝剑. 要买键盘,一个绕不开的话题就是机械键盘.这几年机械键盘很火,它们有着出色的手感.不俗的性能,经久耐用的 ...

  8. 程序员的键盘使用指南

    尊重你的操作系统 如果你使用了mac相关的电脑并外接了非苹果键盘,需要注意一下 command键和option的位置. 更为标准且习惯的方式应该是 alt设置为command键,win设置为optio ...

  9. 计算机键盘快速指南,如何练习盲打(快速学会键盘盲打技巧)

    如何练习盲打(快速学会键盘盲打技巧) 在诸如记者招待会之类的信息发布场面里,大家会注意到,有很多人耳目关注着会场声响动静的同时,不用看自己的笔记本电脑键盘,双手就能在电脑键盘上快速地击键打字,把会议的 ...

最新文章

  1. python微信好友分析源代码_搞事情了 | 教你用Python分析微信好友信息(内附完整代码)...
  2. stl string常用函数
  3. win nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are depr
  4. poj1988(判断一个结点下面有多少个结点,推荐)
  5. linux nfs时间不对,NFS挂载主机或不稳定的原因与解决方法
  6. boost::callable_traits是否为is_volatile_member的测试程序
  7. 高效运维最佳实践:如何做好On-call和事故响应?
  8. Oracle使用Sql把XML解析成表(Table)的方法
  9. 《Adobe Dreamweaver CS6中文版经典教程》——第2课 HTML基础2.1 什么是HTML
  10. qq语音按住ctrl就静音怎么解决_干货!PS超实用去水印方法汇总(图文教程),可解决99%水印烦恼...
  11. 存储端显示主机链路降级_【计算机网络】你真的理解数据链路层吗?
  12. C++提高部分_C++类模板中成员函数的创建时机---C++语言工作笔记089
  13. 京东双 11 大促价疑遭提前泄露;库克:iPhone 11 中国定价策略成功;GitLab 重大安全版本更新 | 极客头条...
  14. 模拟linux内核异常,Linux内核异常
  15. C++ STL list容器中元素的存取和访问
  16. 7-8 12-24小时制 (15 分)
  17. 网站被黑检测-网页挂马及暗链检测
  18. CentOS下IOZone编译安装
  19. 台式计算机 蓝牙,台式电脑的蓝牙在哪里?台式机怎么打开蓝牙?
  20. android 双击点亮屏幕,手机双击点亮屏幕是怎么实现的

热门文章

  1. 2012年重要的软件开发发展
  2. SpringGateway 网关
  3. 注册dll文件的方法集合
  4. streamsets自定义插件部署方案
  5. PTA判断题总结(1)
  6. SpringBoot之配置文件,带你全面掌握高级知识点
  7. python将json文件转换为csv文件
  8. 施耐德电气推出适用于边缘计算的微型数据中心机柜
  9. Kafka之ISR机制的理解
  10. Spark(火花)快速、通用的大数据处理引擎框架