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

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

3天内不再提示

深度解析 4G模组GPIO编程技巧篇

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-11-20 23:08 次阅读

本文将解析4G模组GPIO编程技巧,从概述、软硬件环境准备、示例等详细道来:

一、GPIO 概述

GPIO 是通用型输入输出的简称,一个 GPIO 引脚可以用于输入、输出或其他特殊功能。

二、演示功能概述

本文将介绍 724UG GPIO 的输入与输出 DEMO 讲解与效果演示。

三、准备硬件环境

3.1 开发板准备

使用 Air724UG-NFM 开发板,如下图所示:

wKgZoWc9-mSAXDtEABb6SHB_A40024.png

此开发板的详细使用说明参考:
https://docs.openluat.com/air724ug/product/

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

3.2 数据通信线

请准备一根用于连接 Air724UG-NFM 开发板和 PC 电脑的数据线,该数据线将实现业务逻辑的控制与交互。

USB 数据线(其一端为 micro-B 接口(俗称老安卓口),用于连接 Air724UG-NFM 开发板)。通常,这种数据线的外观如下示意图所示:

wKgaoWc9-nmAIqYyAAIsbt2QdLc739.png

USB 数据线:此数据线不仅用于为测试板供电,还可用于查看抓取 lua 脚本上层和底层 core 日志。其一端为 micro-B 接口,连接 Air724UG-NFM 开发板;另一端为标准 USB 接口,连接 PC 电脑。

3.3 PC 电脑

WINDOWS 系统,其他暂无特别要求;

四、准备软件环境

4.1 源码和工具

724UG 模块使用固件为LuatOS-Air_V4030_RDA8910_TTS_NOLVGL_FLOAT.pac

下载最新版本的底层 CORE,解压后会出现多个版本的固件,本教程使用的是 LuatOS-Air_V4030_RDA8910_TTS_NOLVGL_FLOAT.dfota.bin。

wKgaoWc9-oyAdY_sAActmXqRt3c561.png

本教程使用的 demo:
https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/gpio/gpioSingle

将固件和脚本烧录到模块中,使用说明参考:
https://docs.openluat.com/Luatools/

4.2 烧录代码

首先,确保你的 Luatools 的版本大于或者等于 3.0.6 版本.

在 Luatools 的左上角上有版本显示的,如图所示:

wKgZoWc9-pyAHNYIAAFGCC9eZ0Y106.png

Luatools 版本没问题的话, 就点击 Luatools 右上角的“项目管理测试”按钮,如下图所示:

wKgZoWc9-qeAEiRWAAFhfercOTI844.png

这时会弹出项目管理和烧录管理的对话框,如下图:

wKgaoWc9-rKAXmg8AARKUznSH_A221.png

选择对应的项目烧录代码。

wKgZoWc9-r2AKDFKAAQ36-PSuC0597.png

五、GPIO 软硬件资料

5.1 相关硬件接口

Air724UG 模块引脚共支持 28 个 GPIO,部分引脚上电前后状态不同,如使用这些管脚,需根据实际情况使用。

管脚定义:

wKgaoWc9-siACPOsAAGGBdOD1AM216.png

参考硬件设计手册中的管脚描述:
https://docs.openluat.com/air724ug/product/

5.2 相关 API 介绍

GPIO 相关 API:
https://doc.openluat.com/wiki/21?wiki_page_id=2286

六、功能示例

6.1 GPIO 简介

GPIO(General-Purpose Input/Output) 指通用输入输出口。在软件运行期间能够动态配置和控制的通用引脚,实现某时刻电平状态的输出与输入,即可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。

6.2 输入模式简介

GPIO 的输入模式是指将 GPIO 配置为接收外部信号的模式。

6.2.1 核心代码

wKgZoWc9-tOAPUPTAAGUS-TewpA171.png

6.2.2 示例效果展示

使用杜邦线短接 VDD1V8 和 GPIO19。

wKgaoWc9-uGACamuABI07EPXzRI788.png

wKgZoWc9-uyANjSQAApJX5DdT2k832.png

6.3 输出模式简介

GPIO 的输出模式是指将 GPIO 配置为向外界输出高低电平的模式。

6.3.1 核心代码

wKgaoWc9-vaAdyQhAAIZgSaLh9o868.png

6.3.2 示例效果展示:

wKgaoWc9-v-AYfTaAAlbc_MLsCM215.png

6.4 中断模式简介

当 GPIO 检测到电平变化且满足触发条件时,触发中断,CPU 就会暂停当前任务,执行中断回调函数中的内容,当中断回调函数中的内容执行完毕时,再继续执行之前没有执行完的任务。除了中断回调方式,还有中断计数模式。中断计数模式时,中断时不回调。

6.4.1 核心代码

wKgZoWc9-wqAL4nOAAI1yD0wsqA227.png

6.4.2 示例效果展示:

使用杜邦线将 GPIO13 短接下 VDD1V8.

wKgZoWc9-xSAMK6nAAOpP7yCheg717.png

七、总结

本节我们学习了有关 GPIO 的知识。其中包括输入模式,输出模式,中断模式。

合宙 Cat.1 模块具有多种不同的 GPIO 接口,部分 GPIO 口同时可复用为其他功能,并且模块的 GPIO 管脚输入输出电压能力按照不同的电压域区分,特珠管脚的使用需要打开对应的电压域方能使用。

八、常见问题

1. 为什么 GPIO4 管脚操作没反应?

答:GPIO4 管脚为 VCC_LCD 电压域,需要先配置 pmd.ldoset(2,pmd.LDO_VLCD)打开,才能正常操作该管脚。

九、扩展

脉冲统计个数:

使用杜邦线短接 GPIO23 和 GPIO11

wKgaoWc9-y6AW-ibAARiy2lwNqE639.pngwKgZoWc9-zqAGZUFAAIkN-Mk6cw013.png

示例效果展示:

wKgZoWc9-0OAWxx9AAhY5kqUyyI358.png

分享完毕。

审核编辑 黄宇

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

    关注

    15

    文章

    5530

    浏览量

    119450
  • 编程
    +关注

    关注

    88

    文章

    3637

    浏览量

    93934
  • GPIO
    +关注

    关注

    16

    文章

    1216

    浏览量

    52321
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    4G模组Air780E的LuatOS开发之位运算(bit)示例

    本文我要说的是低功耗4G模组Air780E的LuatOS开发,关于位运算(bit)示例,我将详细解析分享给大家。
    的头像 发表于 12-02 14:33 223次阅读
    <b class='flag-5'>4G</b><b class='flag-5'>模组</b>Air780E的LuatOS开发之位运算(bit)示例

    4G模组LuatOS开发|iconv字符集转换技术

    本次我要讲的是4G模组LuatOS开发的iconv字符集转换,已整理成文,今天便分享供大家。
    的头像 发表于 11-30 09:53 259次阅读
    <b class='flag-5'>4G</b><b class='flag-5'>模组</b>LuatOS开发|iconv字符集转换技术<b class='flag-5'>篇</b>

    SPI与4G模组的集成:技术要领

    今天咋们要讲的是SPI与4G模组的技术要领,以低功耗模组Air724UG为例,展示给大家学习。
    的头像 发表于 11-20 23:25 310次阅读
    SPI与<b class='flag-5'>4G</b><b class='flag-5'>模组</b>的集成:技术要领<b class='flag-5'>篇</b>

    4G模组SD卡接口编程深度学习

    今天我们需要深度学习的是4G模组SD卡接口编程,以我常用的模组Air724UG为例,分享给大家。
    的头像 发表于 11-20 23:14 312次阅读
    <b class='flag-5'>4G</b><b class='flag-5'>模组</b>SD卡接口<b class='flag-5'>编程</b>:<b class='flag-5'>深度</b>学习

    4G模组的隐形守护者:硬件看门狗的秘密

    今天将对4G模组的隐形守护者-看门狗做出详细解析,希望大家留言共同探讨。
    的头像 发表于 11-17 09:54 363次阅读
    <b class='flag-5'>4G</b><b class='flag-5'>模组</b>的隐形守护者:硬件看门狗的秘密

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

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

    实例 4G模组软件之json数据处理!

    今天我会把4G模组软件的json数据处理整理成文,以低功耗模组Air780E为例,一一展示出来:
    的头像 发表于 11-12 12:17 242次阅读

    示例 关于4G模组的模块信息!

    今天我会把4G模组的模块信息做出详细介绍,做出示例,展示给大家,如果觉得有用的话请点赞收藏。
    的头像 发表于 11-12 12:07 467次阅读
    示例<b class='flag-5'>篇</b>  关于<b class='flag-5'>4G</b><b class='flag-5'>模组</b>的模块信息!

    示例4G模组AT指令之MQTT应用!

    针对4G模组AT指令的MQTT应用,我收集资料,做出示例,整理成文分享给大家,喜欢的可以收藏。
    的头像 发表于 11-12 11:56 570次阅读
    示例<b class='flag-5'>篇</b>:<b class='flag-5'>4G</b><b class='flag-5'>模组</b>AT指令之MQTT应用!

    4G模组之UDP应用的最佳实践!

    今天说的是4G模组之UDP应用,展示最佳实践,送你参考。
    的头像 发表于 11-08 09:24 508次阅读
    <b class='flag-5'>4G</b><b class='flag-5'>模组</b>之UDP应用的最佳实践!

    ML307A 4G模组硬件设计手册

    基于ML307A  4G模组的硬件设计指导手册
    发表于 10-24 16:50 12次下载

    干货:低功耗4G模组Air780E的串口通信

    ​ 今天我们来讲解低功耗4G模组Air780E的串口通信的基本用法,小伙伴们,学起来吧!
    的头像 发表于 10-05 14:38 643次阅读
    干货<b class='flag-5'>篇</b>:低功耗<b class='flag-5'>4G</b><b class='flag-5'>模组</b>Air780E的串口通信

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

    模组:ESP32 S2 WROVER 4G模组:合宙Air724UG 在使用AT指令获取4G模组时,dte会报超时。 代码和log如下图所示
    发表于 06-27 06:54