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

    文章

    4120

    浏览量

    106937
  • 模组
    +关注

    关注

    6

    文章

    1812

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    芯科科技低功耗Wi-Fi开发指南

    Silicon Labs(芯科科技)整理并制作了低功耗Wi-Fi开发指南的网站资源,以帮助开发人员使用低功耗 Wi-Fi 6协议进行下一代物联网产品开发。
    的头像 发表于 04-21 10:09 411次阅读

    低功耗RGB转NTSC/PAL编码器AD724:高效视频编码解决方案

    低功耗RGB转NTSC/PAL编码器AD724:高效视频编码解决方案 引言 在当今的视频处理领域,将RGB信号转换为NTSC或PAL标准的视频信号是一项常见且重要的任务。ADI公司的AD724
    的头像 发表于 04-18 14:35 214次阅读

    MCU 模组Air1601/Air1602规格简介

    Air1601/Air1602 为基于 ARM Cortex‑M7 的 MCU 模组,以图像处理、UI 交互与高速数据传输为核心能力。模组集成图形加速引擎,配备多路外设接口,适用于工业
    的头像 发表于 04-01 11:49 261次阅读
    MCU <b class='flag-5'>模组</b>—<b class='flag-5'>Air</b>1601/<b class='flag-5'>Air</b>1602规格简介

    蓝牙模组Air5101s规格介绍

    Air5101S 是一款超小型低功耗蓝牙透传模组,尺寸为 6×15.3×2.25mm,基于 BLE 5.2 技术打造,采用工业级设计,搭配简洁 AT 指令集。可与现有 4G 模组(如
    的头像 发表于 03-16 21:57 238次阅读
    蓝牙<b class='flag-5'>模组</b><b class='flag-5'>Air</b>5101s规格介绍

    # 深度解析:为什么低功耗是Cat.1模组的“生命线”?海思方案如何重塑物联网商业逻辑

    和灵敏度,却很少深究:这个模组在休眠时到底吃多少电? 今天,我们就透过现象看本质,聊聊为什么 低功耗不仅仅是“省电” ,它是决定物联网设备商业可行性、部署灵活性和长期运维成本的核心命门。特别是当我们将目光
    发表于 03-11 09:52

    如何确保CAT.1模组的高性能与低功耗

    确保CAT.1模组实现高性能与低功耗的完美平衡,是物联网设备长期稳定运行和降低运维成本的关键。基于我们采用的华为海思最新Hi2131芯片方案,我们通过以下四大核心技术维度实现了这一目标: 1. 先进
    发表于 03-05 11:41

    高效接入语音交互:合宙模组音频方案如何选?

    型号Air724UG。 1.2 主芯片不支持音频功能 比如:Air780Exx系列、Air8000系列、Air700ECH。 尽管部分模组
    的头像 发表于 02-08 14:59 1044次阅读
    高效接入语音交互:合宙<b class='flag-5'>模组</b>音频方案如何选?

    模组功耗入门指南:新手必须掌握的能耗知识

    设计隐患。 一,模组低功耗特性概述 低功耗是 4G Cat.1 模组最重要的特性之一 4G Cat.1 模组有三种
    的头像 发表于 01-18 13:48 1075次阅读
    <b class='flag-5'>模组</b><b class='flag-5'>功耗</b>入门<b class='flag-5'>指南</b>:新手必须掌握的能耗知识

    从零开始学模组功耗:新手必备基础解析

    。 一,模组低功耗特性概述 低功耗是 4G Cat.1 模组最重要的特性之一 4G Cat.1 模组有三种
    的头像 发表于 01-17 19:24 544次阅读
    从零开始学<b class='flag-5'>模组</b><b class='flag-5'>功耗</b>:新手必备基础解析

    智能双卡设计实战指南:硬件电路与软件配置详解!

    配置、双卡状态同步与运营商策略配置方法,形成一份可直接复用的实战指南。 今天我们以Air780EPM系列低功耗模组为例,分享双SIM卡硬件设计与软件
    的头像 发表于 12-16 15:13 743次阅读
    智能双卡设计实战<b class='flag-5'>指南</b>:硬件电路与<b class='flag-5'>软件</b>配置详解!

    低功耗系统设计核心:VDD_EXT原理与优化策略详解!

    解析VDD_EXT的技术要点,并提供可落地的优化方案。 今天以Air780EPM模组为例,一起来聊聊VDD_EXT。理解其工作原理和限制,对于设计稳定、低功耗的物品至关重要。 一、VDD_EXT功能特性 VDD_EXT是
    的头像 发表于 12-12 16:30 927次阅读
    <b class='flag-5'>低功耗</b>系统设计核心:VDD_EXT原理与优化策略详解!

    Air8000 BLE外围模式全解析:数据收发实战指南

    Air8000的BLE外围设备模式(peripheral)是实现低功耗蓝牙通信的关键功能,它既能主动向中心设备发送通知数据,也能接收中心设备传回的信息。本文将通过具体示例,详细拆解这一模式的操作流程
    的头像 发表于 11-24 14:26 2234次阅读
    <b class='flag-5'>Air</b>8000 BLE外围模式全解析:数据收发实战<b class='flag-5'>指南</b>!

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

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

    低功耗蓝牙模组功耗到底有多低

    对于BLE(低功耗蓝牙)产品方案来说,功耗有多低,决定着你的产品待机、使用寿命是多久,或者是多久需要充一次电,推荐一个非常的好用的评估nordicBLE功耗的工具: 利用我们的这个工具,只需要把你
    发表于 05-27 22:37

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

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