首页 > 其他分享 >深度剖析 | 低功耗模组Air724UG的软件实例:KEYPAD教程!

深度剖析 | 低功耗模组Air724UG的软件实例:KEYPAD教程!

时间:2024-12-01 11:10:42浏览次数:4  
标签:5.1 KEYPAD 低功耗 开发板 键盘 Air724UG 按键 开机 处理函数

本次我要要深度剖析的是低功耗4G模组Air724UG的软件实例,关于KEYPAD的教程,赶紧来学吧。

一、简介

在电路设计中,通常需要较多的外部输入,如果每个按键都单独去占用一个 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/

Air724UG 产品手册 中的《EVB_Air724UG_AXX 开发板使用说明》,写这篇文章时最新版本的使用说明为:《EVB_Air724UG_A14 开发板使用说明》;开发板使用过程中遇到任何问题,可以直接参考这份使用说明文档。

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

3.2 数据通信线

USB数据线一根(micro USB)。

3.3 PC 电脑

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

3.4 矩阵键盘

4x4 矩阵键盘

3.5 组装硬件环境

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

四、准备软件环境

4.1 下载调试工具

使用说明参考:
Luatools下载和详细使用
https://docs.openluat.com/Luatools/

4.2 源码及固件

1、 底层 core 下载

下载底层固件,并解压。

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

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

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

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

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

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

点击项目管理测试选项。

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

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

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

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

五、代码示例介绍

5.1 API 说明

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

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

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

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

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

参数

名称 传入值类型 释义
longPrd number 可选参数,默认为 3000 长按键判断时长,单位毫秒
longCb function 可选参数,默认为 nil 长按弹起时的回调函数,如果为 nil,使用默认的处理函数
shortCb function 可选参数,默认为 nil 短按弹起时的回调函数

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

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

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

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

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

--按键消息处理函数

5.1.5 注册按键消息处理函数

5.1.6 初始化键盘阵列

5.2 testKeypad.lua 代码

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

5.3 main.lua 代码

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

六、开机调试

6.1 开发板开机

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

6.2 键盘调试

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

七、常见问题

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

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

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

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

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

分享完毕

标签:5.1,KEYPAD,低功耗,开发板,键盘,Air724UG,按键,开机,处理函数
From: https://www.cnblogs.com/luatos/p/18576481

相关文章

  • 精讲Air780E低功耗模组AT指令的FTP指南!
    本文要讲的是低功耗4G模组AT指令的FTP指南,我以常用的Air780E模组为例,供大家参考。一、FTP协议简介FTP(FileTransferProtocol,文件传输协议)是TCP/IP协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以......
  • Air780E低功耗模组的LuatOS开发:位运算(bit)示例教程!
    本文讲述的是低功耗4G模组Air780E的LuatOS开发,关于位运算(bit)的示例教程,希望大家有所收获。一、位运算概述位运算是一种在计算机系统中对二进制数位进行操作的运算。由于计算机内部数据的存储和处理都是以二进制形式进行的,位运算能够直接对整数的二进制位进行高效操作。位运算包......
  • PHY6236超低成本低功耗蓝牙芯片智能灯控家居
    超低成本SOC蓝牙芯片PHY6236PHY6236是一款用于低功耗蓝牙和专有2.4G应用的片上系统(SoC)。它具有高性能低功耗32位RISC-VMCU,具有8KB保留SRAM、80KBROM、8KBOTP和超低功耗、高性能、多模式无线电。此外,PHY6236还可以支持具有安全性和应用的BLE。串行外设IO和集成......
  • 矽睿半导体推出超高灵敏、低功耗霍尔传感器SWU332NS专为咖啡机检测流量
    咖啡机通常可以设定不同的咖啡不同量,如卡布奇诺的咖啡奶泡更多,而美式咖啡的水占比更多,这都是由霍尔流量计控制实现的。在咖啡机上增加一个霍尔流量计,即可实现流量控制。霍尔流量计内内置有两极磁铁和叶轮,顶部上盖含霍尔元件。当液体从管道进入到流量内部时会带动含磁铁的叶轮......
  • 解决水库安全监测难题 长期无外接电源 低功耗设备智能化监测系统
    解决水库安全监测难题长期无外接电源低功耗设备智能化监测系统国内某水库安全监测项目需要监测点分散,且无外接供电。项目年限为4年,不允许使用太阳能电板。因此,我们需要设备具备低功耗且内置电池的功能。为了满足客户的要求,我们的研发团队将采集仪从NLM511T升级到电池容量更大......
  • 4G模组LuatOS:超低功耗模式的快速入门指南
    关于超低功耗模式的快速入门指南,我将教大家使用Air201的超低功耗模式下,定时三分钟上传以及G-senser拓展示例。接下来,我们讲解相关示例的具体使用。1.搭建环境新同学建议先看前期的基础知识相关教程,更有助于理解和操作。可以在LuaTools项目管理中新建一个项目,重新选择底层CORE......
  • 【单片机基础】如何选择合适的低功耗单片机
    选择合适的低功耗单片机需要综合考虑多个因素,包括功耗、性能、外设接口、开发工具、成本和生态系统等。以下是一个详细的步骤和建议,帮助你选择合适的低功耗单片机:1.明确应用需求功耗要求:确定系统的功耗要求,特别是运行模式和睡眠模式下的功耗。性能需求:确定单片机需要支持的......
  • 物联网系统中的低功耗广覆盖物联网无线通讯方案_lora模组
    01物联网系统中为什么要使用LORA模块物联网系统中使用LoRa模块的原因主要有以下几点:LoRa模块的技术优势远距离通信:LoRa模块通过LoRa技术实现无线通信,LoRa技术具有超链接预算,能显著提高接收机的灵敏度,因此即使在较低的发射功率下也能实现较远的通信距离。这对于物联网系统......
  • 深入解析Android STR待机:低功耗,快速唤醒的奥秘
    目录一、STR简介二、STR技术的主要特点2.1.低功耗2.2.快速唤醒2.3.用户体验三、实现原理3.1.电源管理3.2.数据保存3.3.硬件支持3.4.唤醒机制3.5.运行时权限管理3.6.低功耗技术四、待机流程步骤4.1.注册广播接收器4.2.监听屏幕关闭事件4.3.执行待机......
  • HS6621Cx 一款低功耗蓝牙SoC芯片 应用于键盘、鼠标和遥控器消费类产品动能世纪
    HS6621Cx是一款功耗优化的真正片上系统(SOC)解决方案,适用于低功耗蓝牙和专有2.4GHz应用。它集成了高性能、低功耗射频收发器,具有蓝牙基带和丰富的外设IO扩展。HS6621Cx还集成了电源管理功能,可提供高效的电源管理。它面向2.4GHz蓝牙低功耗系统、专有2.4GHz系统、人机接口设备(键盘......