0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

低功耗Air724UG模组软件指南:KEYPAD示例~

青山老竹农 来源:jf_82863998 作者:jf_82863998 2025-02-07 14:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、简介

电路设计中,通常需要较多的外部输入,如果每个按键都单独去占用一个 IO 接口,就会非常浪费资源,为了减少 I/O 口的占用,通常将按键排列成矩阵形式,即矩阵键盘。

特性:

KEYIN0

扫描键盘输入 0,与 UBOOT 复用,此管脚在模块开机动作完成之前不能进行拉高,电压域为 V_GLOBAL_1V8。

KEYIN1

扫描键盘输入 1,此管脚在模块开机动作完成之前不能进行拉高,电压域为 V_GLOBAL_1V8。

KEYIN2、KEYIN3、KEYIN4、KEYIN5

扫描键盘输入管脚,电压域为 V_GLOBAL_1V8。

KEYOUT0、KEYOUT1、KEYOUT2、KEYOUT3

扫描键盘输出管脚,电压域为 V_GLOBAL_1V8。

KEYOUT4

扫描键盘输出管脚 4,与 UART3_RXD 复用,电压域为 V_GLOBAL_1V8。

KEYOUT5

扫描键盘输出管脚 5,与 UART3_TXD 复用,电压域为 V_GLOBAL_1V8。

注意:键盘接口的所有管脚不能复用为GPIO。

二、演示功能概述

本教程教你如何使用开发板的矩阵键盘获取输入信息。

三、准备硬件环境

3.1 开发板准备

使用 EVB_Air724 开发板

此开发板的详细使用说明参考:

https://docs.openluat.com/air724ug/product/

API文档:

https://doc.openluat.com/wiki/21?wiki_page_id=2068

3.2 数据通信线

USB数据线一根(micro USB)。

3.3 PC 电脑

WIN7以及以上版本的 WINDOWS 系统。

3.4 矩阵键盘

4x4 矩阵键盘

wKgZPGelphiAPlc-AAVMiUUuc0M185.png

3.5 组装硬件环境

USB 数据线插入 USB 口,另一端与电脑相连,拨码开关全部拨到 ON,串口切换开关选择 UART1,USB 供电的 4V 对应开关拨至 ON 档,连接矩阵键盘,把键盘阵列软排线接口插入开发板相对印引脚,keyin2 keyin3 keyin4 keyin5 keyout0 keyout1 keyout2 keyout3,如下图所示。

wKgZO2elpkWAa0I9AAY2F5cgh38850.png


四、准备软件环境

4.1 下载调试工具

使用说明参考:

Luatools下载和详细使用

https://docs.openluat.com/Luatools/

4.2 源码及固件

1、底层 core 下载

下载底层固件,并解压。

链接:

https://docs.openluat.com/air724ug/luatos/firmware/

如下图所示,红框的是我们要使用到的

wKgZO2elplWAKIlYAAOEjIDrlZE785.png

2、本教程使用的demo见附件:

https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/keypad

4.3 下载固件和脚本到开发板中

打开 Luatools,开发板上电开机,如开机成功 Luatools 会打印如下信息。

wKgZPGelpmWAKRhDAAKofjJQ62g796.png

点击项目管理测试选项。

wKgZO2elpnGASSvqAAC3Za5D3V8537.png

进入管理界面,如下图所示。

wKgZPGelpn2AWvYxAAJPbCYbeJw621.png

点击选择文件,选择底层固件,我的文件放在 D:luatOSAir724 路径中

wKgZO2elpouAVx7bAABbglyLejA918.png

点击增加脚本或资源文件,选择之前下载的程序源码,如下图所示。

wKgZPGelppaAGzYRAAGGZEhOfB0271.png

点击下载底层和脚本,下载完成如下图所示。

wKgZO2elpqGAEzQbAADuTmjShdA287.png


五、代码示例介绍

5.1 API 说明

5.1.1 powerKey.setup(longPrd, longCb, shortCb) 开机键功能配置

配置开机键长按弹起和短按弹起的功能.

如何定义长按键和短按键,例如长按键判断时长为 3 秒:

按下大于等于 3 秒再弹起判定为长按键;

按下后,在3 秒内弹起,判定为短按键

参数

wKgZO2elpq6Ad6h5AABOck496qc294.png

5.1.2 创建一个 tKeypad 表,储存所有按键值(16 个键盘元素 +1 个开关机键元素)

--每个元素的索引为行列值拼接而成的字符串,值为按键名的字符串

--例如:按键名为"1"的行值为 5,列值为 3,则["53"] = "1"

wKgZPGelprmAcg3iAAEJ3LgauNY835.png

5.1.3 定义某个 keyName 按键的长按下消息处理函数

wKgZPGelpsWANFmAAACGJCnYAIM433.png

5.1.4 定义一个按键消息处理函数

--按键消息处理函数

wKgZPGelpwiAETwNAAIiGqibeMc386.png

5.1.5 注册按键消息处理函数

wKgZO2elpxOAfXNPAAA00SnLedo756.png

5.1.6 初始化键盘阵列

wKgZO2elpx-AAfcaAAHDg8wNvK8001.png

5.2 testKeypad.lua 代码

注册按键消息处理函数 rtos.on(rtos.MSG_KEYPAD,keyMsg),初始化键盘阵列 rtos.init_module(rtos.MOD_KEYPAD,0,0x0F,0x0F),当有键盘按下或抬起时按键消息处理函数会打印出对应的行列值。

wKgZPGelpzWALbPTAAPswyQSMNA340.png

5.3 main.lua 代码

本代码为主程序脚本,系统启动后首先会对 4G 网络进行配置,等待网络连接成功,然后加载矩阵键盘测试模块。

六、开机调试

6.1 开发板开机

连接好硬件并下载固件后,启动 Luatools 软件,系统运行信息将显示在界面中。红框中为开发板连接到 PC 机后正常打印的信息,如下图所示。

wKgZPGelp0SABppSAAHUimZk-G4511.png

6.2 键盘调试

键盘按下或抬起时按键消息处理函数会打印出对应的行列,true 为按键按下,false 为按键抬起。

wKgZO2elp1CADpasAAO4Vu5f26k079.png


七、常见问题

7.1 为什么 KEYIN0 的按键在开机时被按下后就会不开机。

答:因为 KEYIIN0 信号复用为是 USB_BOOT,如果被按下就会进入下载模式,就进入不了开机流程。只需重新断电开机就能恢复

7.2 为什么按下按键时没反应?

1、看下按键引脚是否与模块引脚是否接对?键盘是不是 ok?

2、是不是引用了 powKey.lua ,关机按键默认行列是(255,255)不需另外配置。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 低功耗
    +关注

    关注

    12

    文章

    2990

    浏览量

    106249
  • 模组
    +关注

    关注

    6

    文章

    1719

    浏览量

    32018
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    低功耗2.5W的迷你变焦模组——腾龙MP3010M-EV

    凯茉锐电子|最低功耗2.5W的迷你变焦模组——腾龙MP3010M-EV
    的头像 发表于 09-29 14:00 388次阅读

    低功耗蓝牙模组在电动工具类设备上的应用

    随着电动工具智能化的发展,越来越多的电动工具设备上,开始增加低功耗蓝牙模组。 增加这个低功耗蓝牙模组后,可提升用户体验,如通过App调整参数、实时监测状态;优化资产管理,实现工具追踪与
    发表于 05-27 20:10

    Nordic nRF9151 新一代低功耗蜂窝SIP模组

    Nordic nRF9151 新一代低功耗蜂窝SIP模组产品介绍
    的头像 发表于 05-22 11:19 1879次阅读
    Nordic nRF9151 新一代<b class='flag-5'>低功耗</b>蜂窝SIP<b class='flag-5'>模组</b>

    低功耗MCU软件设计技巧与选型

    与开发应用生态的沉淀,大力节省超低功耗选型设计成本以及开发周期.如何做好超低功耗mcu嵌入式软件设计与选型是本文讲述的主要内容.
    的头像 发表于 04-12 17:19 1491次阅读
    超<b class='flag-5'>低功耗</b>MCU<b class='flag-5'>软件</b>设计技巧与选型

    4G模组Air780EPM的开机启动及外围电路设计!

    本文介绍了4G模组——Air780EPM 模块开机的完整硬件设计指南,涵盖供电要求、管脚配置、电路示例及常见问题排查方法,希望能够帮助大家避免设计错误,确保模块稳定启动!常见开机电路。
    的头像 发表于 03-07 16:06 817次阅读
    4G<b class='flag-5'>模组</b><b class='flag-5'>Air</b>780EPM的开机启动及外围电路设计!

    功耗表现最佳有没有?——Air780EPS

    、HTTP、WEBSOCKET、NTP等。 语音支持: Air780EPS不支持TTS语音播放,也不支持VoLTE语音通话。需要支持这两个功能的应用,推荐选择Air724UG功耗表现:
    的头像 发表于 01-10 15:29 903次阅读
    <b class='flag-5'>功耗</b>表现最佳有没有?——<b class='flag-5'>Air</b>780EPS

    拥有低功耗低成本的Open开发应用,开发人员必看!

    Open开发应用需求,有没有低功耗、低成本方案? 今天我们一起来聊聊Air780EP模组。 一、Air780EP实网功耗数据 4G-Cat.
    的头像 发表于 12-26 11:50 826次阅读
    拥有<b class='flag-5'>低功耗</b>低成本的Open开发应用,开发人员必看!

    要Open开发,又要低功耗低成本?建议等新方案

    Open开发应用需求,有没有低功耗、低成本方案? 今天我们一起来聊聊Air780EP模组。 一、Air780EP核心信息描述 运营商支持: Air
    的头像 发表于 12-24 17:09 717次阅读
    要Open开发,又要<b class='flag-5'>低功耗</b>低成本?建议等新方案

    定位模组Air201——快速实现打电话!

    今天特别分享VoLTE通话功能示例,感兴趣的朋友一起来学。 VoLTE通话功能示例   Air201模组的4G通信功能,通过VoLTE技术实现高清语音通话,支持音频编解码、硅麦输入和喇
    的头像 发表于 12-16 15:23 1117次阅读
    定位<b class='flag-5'>模组</b><b class='flag-5'>Air</b>201——快速实现打电话!

    掌握4G模组PWM|技术精要

    今天要讲的是4G模组PWM的技术精要,以常用的合宙Air724UG为例做出示例分享给大家。
    的头像 发表于 12-14 09:40 1719次阅读
    掌握4G<b class='flag-5'>模组</b>PWM|技术精要

    掌握4G模组SPI|技术指南

    本次我要分享的是4G模组SPI的技术指南,以合宙Air724UG为例,学完本章帮你实现技术提升。
    的头像 发表于 12-14 09:38 1943次阅读
    掌握4G<b class='flag-5'>模组</b>SPI|技术<b class='flag-5'>指南</b>

    4G模组SD卡使用技巧|专家指南

    今天我们学习的是4G模组SD卡使用技巧,以Air724UG为例做出指南供大家参考。
    的头像 发表于 12-14 09:37 1162次阅读
    4G<b class='flag-5'>模组</b>SD卡使用技巧|专家<b class='flag-5'>指南</b>

    4G模组GPIO接口实操|精选教程

    今天我将把我熟悉的4G模组GPIO接口实操整理成文,以Air724UG做出精选教程分享给大家。
    的头像 发表于 12-14 09:36 1897次阅读
    4G<b class='flag-5'>模组</b>GPIO接口实操|精选教程

    短消息(sms)解析 Air724UG低功耗模组软件指南

    指南教你如何用 Air724 开发板,使用 sms 功能,并通过日志观察实验结果。
    的头像 发表于 12-11 09:28 1303次阅读
    短消息(sms)解析  <b class='flag-5'>Air724UG</b><b class='flag-5'>低功耗</b><b class='flag-5'>模组</b><b class='flag-5'>软件</b><b class='flag-5'>指南</b>

    解读Air724UG低功耗4G模组软件的语音通话!

    本篇文章以Air724UG模组为例,解读低功耗4G模组软件的语音通话,呈现实用教程供大家参考。
    的头像 发表于 12-09 09:39 2102次阅读
    解读<b class='flag-5'>Air724UG</b><b class='flag-5'>低功耗</b>4G<b class='flag-5'>模组</b><b class='flag-5'>软件</b>的语音通话!