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

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

3天内不再提示

4G模组Air724UG的软件教程:KEYPAD示例!

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2024-11-30 09:44 次阅读

本回我要说的是低功耗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 开发板,如下图所示:

wKgZO2dIaiSAMO86AA8Q93ykEYE630.png

此开发板的详细使用说明参考:
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 矩阵键盘

wKgZPGdIajmAdKYzAAiZP4pthtw784.png


3.5 组装硬件环境

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

wKgZPGdIakOAd7dIAAmxbsC3BLI820.png

四、准备软件环境

4.1 下载调试工具

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

4.2 源码及固件

1、底层 core 下载

下载底层固件,并解压。

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

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

wKgZO2dIalCAYbYmAAXX99DGwZ4979.png

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

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

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

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

wKgZO2dIaluAeyTpAARlf89wW64592.png

点击项目管理测试选项。

wKgZPGdIamWAcxokAAExkyIwajQ599.png

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

wKgZO2dIam-ADY1FAAPRMHB1SNY041.png

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

wKgZO2dIanmAS6-QAACY06CfvrU513.png

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

wKgZPGdIaoKAQU1mAAKGAyRIU20369.png

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

wKgZPGdIaoyAc5dKAAGDHrTLl2I419.png

五、代码示例介绍

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"

wKgZPGdIapuARXw_AAGyjT0ofKk878.png

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

wKgZO2dIaqOAUkzEAADnWy8ZSTA701.png

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

--按键消息处理函数

wKgZPGdIaqyAbVf0AAOR9IIvmMA891.png

5.1.5 注册按键消息处理函数

wKgZO2dIasGAEgILAABa1IROzps606.png

5.1.6 初始化键盘阵列

wKgZPGdIariAKHa7AALsxLuR8kg847.png

5.2 testKeypad.lua 代码

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

wKgZO2dIauSAbdzyAAOrY_IIo0Q451.pngwKgZPGdIavCABA1RAALHBAL5aBg624.png

5.3 main.lua 代码

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

六、开机调试

6.1 开发板开机

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

wKgZO2dIawKAWqvtAAMGBehHB0U752.png

6.2 键盘调试

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

wKgZPGdIaw2APSCKAAYst20OC04923.png

七、常见问题

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

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

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

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

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

分享完毕,欢迎关注

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

    关注

    6676

    文章

    2453

    浏览量

    204492
  • 接口
    +关注

    关注

    33

    文章

    8612

    浏览量

    151282
  • 开发板
    +关注

    关注

    25

    文章

    5062

    浏览量

    97586
  • 模组
    +关注

    关注

    6

    文章

    1496

    浏览量

    30413
收藏 人收藏

    评论

    相关推荐

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

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

    分步实操 | Air724UG低功耗模组软件中复刻高效FTP示例

    本文要说的是低功耗4G模组Air724UG软件中复刻高效FTP示例,我已整理成文供大家参考。
    的头像 发表于 12-03 11:45 611次阅读
    分步实操 | <b class='flag-5'>Air724UG</b>低功耗<b class='flag-5'>模组</b><b class='flag-5'>软件</b>中复刻高效FTP<b class='flag-5'>示例</b>!

    ESP32S2 WROVER在使用AT指令获取4G模组时,dte会报超时怎么解决?

    模组:ESP32 S2 WROVER 4G模组:合宙Air724UG 在使用AT指令获取4G模组
    发表于 06-27 06:54

    air724ug开发板

    air724ug开发板,最近购买了一块4G开发板来玩玩,做个开发记录开发板采用合宙Air724UG模块作为主控,没有外挂其它单片机,原来的2/4G模块都是通过AT指令串口外挂单片机,此
    发表于 07-22 07:25

    STM32+Air724UG基本控制篇

    Air724UG,4G Cat.1全网通③基本外设:液晶OLED(IIC); RGB三色灯;温湿度传感器(DHT1...
    发表于 08-20 06:09

    Air724UG模块及其硬件接口规范

    1. 绪论本文档定义了Air724UG模块及其硬件接口规范,电气特性和机械细节,通过此文档的帮助,结合我们的应用手册和用户指导书,客户可以快速应用Air724UG模块于无线应用。2.综述2.1
    发表于 11-11 06:44

    Air724UG是什么

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Air724UG是什么?二、AT是什么?三、服务器是什么?四、我们要做什么?五、我们该怎么做?0.准备工作1·连接模块
    发表于 12-13 07:07

    Air724UG软件:ADC功能的创意展示

    今天我将对Air724UG软件的ADC功能做出详细示例,大家可以先收藏,再慢慢细读,绝对有收获。
    的头像 发表于 11-17 09:53 322次阅读
    <b class='flag-5'>Air724UG</b><b class='flag-5'>软件</b>:ADC功能的创意展示

    UART通信入门:4G模组软件的实践指南

    本文将对4G模组Air724UG软件的UART做出相关示例,希望想了解此模组的朋友们收藏好仔细看
    的头像 发表于 11-17 00:07 450次阅读
    UART通信入门:<b class='flag-5'>4G</b><b class='flag-5'>模组</b><b class='flag-5'>软件</b>的实践指南

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

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

    4G模组Air724UG软件示例:UDP实战演练!

    关于4G模组Air724UG软件的UDP示例,今天我将对其实战演练,整理成文示例展示:
    的头像 发表于 11-26 12:10 194次阅读
    <b class='flag-5'>4G</b><b class='flag-5'>模组</b><b class='flag-5'>Air724UG</b><b class='flag-5'>软件</b><b class='flag-5'>示例</b>:UDP实战演练!

    藏箱子里Air724UG模组LuatOS开发的HTTP示例

    今天我们来学习的是我珍藏已久的低功耗模组Air724UG的LuatOS开发HTTP示例,献给大家。
    的头像 发表于 11-30 09:42 237次阅读
    藏箱子里<b class='flag-5'>Air724UG</b><b class='flag-5'>模组</b>LuatOS开发的HTTP<b class='flag-5'>示例</b>!

    低功耗模组软件的UDP示例 基础教程篇

    本文以常用的低功耗4G模组Air724UG为例,做出关于低功耗模组软件的UDP示例,以供大家参考
    的头像 发表于 12-02 14:53 195次阅读
    低功耗<b class='flag-5'>模组</b><b class='flag-5'>软件</b>的UDP<b class='flag-5'>示例</b>   基础教程篇

    轻松攻克低功耗4G模组软件的FTP示例

    今天是以Air724UG模组为例,轻松攻克低功耗4G模组软件的FTP示例
    的头像 发表于 12-05 09:08 201次阅读
    轻松攻克低功耗<b class='flag-5'>4G</b><b class='flag-5'>模组</b><b class='flag-5'>软件</b>的FTP<b class='flag-5'>示例</b>!

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

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