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

电子说

1.3w人已加入

描述

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

一、GPIO 概述

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

二、演示功能概述

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

三、准备硬件环境

3.1 开发板准备

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

GPIO

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

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

3.2 数据通信线

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

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

GPIO

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。

GPIO

本教程使用的 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 的左上角上有版本显示的,如图所示:

GPIO

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

GPIO

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

GPIO

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

GPIO

五、GPIO 软硬件资料

5.1 相关硬件接口

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

管脚定义:

GPIO

参考硬件设计手册中的管脚描述:
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 核心代码

GPIO

6.2.2 示例效果展示

使用杜邦线短接 VDD1V8 和 GPIO19。

GPIO

GPIO

6.3 输出模式简介

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

6.3.1 核心代码

GPIO

6.3.2 示例效果展示:

GPIO

6.4 中断模式简介

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

6.4.1 核心代码

GPIO

6.4.2 示例效果展示:

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

GPIO

七、总结

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

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

八、常见问题

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

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

九、扩展

脉冲统计个数:

使用杜邦线短接 GPIO23 和 GPIO11

GPIOGPIO

示例效果展示:

GPIO

分享完毕。

审核编辑 黄宇

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分