大数跨境
0
0

LuatIO:可视化GPIO配置工具

LuatIO:可视化GPIO配置工具 降功耗找合宙
2025-12-02
0
导读:降低门槛+提升效率,让物联网开发事半功倍!





降低门槛+提升效率,让物联网开发事半功倍!

合宙历时十余载,打造LuatOS一站式开发工具链:
涵盖编辑器、调试器、烧录器、远程升级、位置服务、TCP/UDP测试服务器、远程诊断工具等等,被工程师朋友誉为“开发神器”的系列实用高效工具。

2025年,合宙又出新神器
——LuatIO,可视化GPIO配置工具

合宙2025年主推型号以及将来可能的新型号,都会支持LuatIO。
例如:
Air780EPM/EHM/EHV/EGH,
Air8000/8000W/8000G/8000T,
Air8101/8101A,Air8201……

非主推的老型号,不再新增支持LuatIO。
例如:
Air780E、Air780EP、Air780EPS、Air724UG等。

本文以合宙主推型号Air780EPM为例,分享LuatIO工具相关内容。

最新资料详见:
http://docs.openluat.com/air780epm/common/luatio/ 

1

   -  为何推出LuatIO工具  -   




00 手持Air780EPM模组 开发板 2503151101.gifAir780EPM_GPIO_Table_20241223.png

Air780EPM共有38个GPIO,这38个GPIO又可以复用为各种各样的功能,如上表所示。

比如PIN66:

什么时候用作I2C0_SDA?

什么时候用作I2C1_SDA?

什么时候用作GPIO19?

什么时候用作PWM1?

默认功能是什么?

如何进行初始化配置?

如何在初始化之后进行动态的配置?

……

LuatOS之前的做法是:
通过mcu.altfun()函数进行配置,这个函数非常晦涩难懂,因为不仅要涉及到Air780EPM所使用主芯片对应的PAD 脚,还要知晓该PAD脚所需配置复用功能的AltFunc顺序号,对初学者非常不友好。

基于此,我们设计了可视化GPIO配置工具
—— LuatIO

由此工具生成对应的"pins_$model.json"文件,结合API库函数pins动态配置,最后以脚本的形式下载到模组中,即可完成该模组型号的GPIO复用配置。


2

   -  如何使用LuatIO配置GPIO  -   



GPIO配置的全过程,我们分为四部分进行说明:

2.1 LuatIO可视化GPIO配置工具

目前单独的LuatIO工具只是阶段性的存在,后续会集成到LuaTools中,一个工具入口即可完成尽可能多的功能。

1)下载安装LuatIO工具

最新LuatIO工具下载链接:
http://docs.openluat.com/air780epm/common/luatio/

注意:LuatIO工具仅支持Win10及之上Windows操作系统。

2)LuatIO界面说明

luatio1.png

如上截图,其中:

左侧为GPIO复用功能配置选择栏,空白框内可以写该管脚相应的注释说明;

右侧为Air780EPM的管脚排列图,其中淡绿色部分为可以配置的GPIO管脚。


以Air780EPM开发板V1.3为例,根据其硬件实际使用情况配置后的截图如下:

Air780EPM开发板正面 25040101.png

luatio2.png

2.2 生成pins_Air780EPM.json文件

1)点击保存:

luatio3.png

2)命名"pins_Air780EPM":

luatio4.png

注意事项:

文件名必须严格遵守pins_$model.json格式:
pins_Air780EPM;

Air780EPM中的“Air”为大小写组合,“EPM”必须为大写。


生成的pins_Air780EPM.json文件截图如下:

luatio5.png

2.3 API库函数pins动态配置

  • 请使用LuatIO可视化工具进行配置,你通常不需要使用这个功能;

  • 本库的API属于高级用法,仅动态配置管脚时使用(LuatIO本来已经初始化好了,但在代码运行过程中需要对某个或某些GPIO的复用功能进行动态调整);

  • pins是LuatOS核心库,在脚本代码中不需要require,可以直接使用。

关于pins的详细说明参见:
http://docs.openluat.com/air780epm/luatos/api/core/pins/

pins.setup(pin, func)

在pins_$model.json文件初始化之后,再一次或多次指定某个或多个管脚的功能变化。

特别说明:
此功能是为了动态修改管脚复用,99%的用户可能不会用到本API。

D01.png


2.4 将pins_Air780EPM.json下载到模组

本小节我们只针对不需要“API库函数pins动态配置”的情况进行演示;即便需要的情况下,pins的使用方法跟其它API核心库函数没有区别。


1)以Air780EPM开发板V1.3出厂固件为例:

最新固件下载详见:
https://gitee.com/openLuat/LuatOS-Air780EPM/tree/master/demo


luatio6.png

2)pins_Air780EPM保存在json文件夹内:

luatio7.png


3)下载到Air780EPM开发板V1.3中:


luatio8.png


3

   -  其他相关说明  -   



3.1 Lua代码中,需要声明调用pins_Air780EPM.json文件吗?

回答:不需要。更详细的说明,参见资料中心函数描述。

pins.loadjson(path)函数详见:
http://docs.openluat.com/air780epm/luatos/api/core/pins/

注意:LuatIO工具(pins_$model.json)和API函数pins都支持主推型号,老型号都不再支持。

3.2 虽然该工具很方便,但我已经习惯了mcu.altfun()函数配置,还可以继续使用吗?

回答:不可以了。

Air780EPM底层固件从V2005开始,将只支持pins_Air780EPM.json 一种GPIO复用功能配置方式,之前的mcu.altfun()方式将不再继续支持!遇到动态配置的情况,可以结合API库函数pins进行操作。

也就是说,如果您使用Air780EPM底层固件V2004或之前的版本已经量产出货,后续您因某种原因需要远程升级基于V2005及其后续底层固件版本的软件时——的脚本文件也需要通过pins_Air780EPM.json的方式,重新对GPIO复用功能进行配置,原来的mcu.altfun()配置方式将会失效。

3.3 为什么我在合宙的Docs文档网站里,还经常看到关于mcu.altfun()函数的出现?

回答:在整理了。mcu.altfun()的API库函数说明已经从Docs上撤掉,但确实还有非常多的其它文档说明仍然“保留”,我们可能要花一段时间才能完全"清除"。

3.4 LuatIO功能将来会集成到LuaTools中吗?

回答:一定会的。目前单独的LuatIO工具只是阶段性的存在,很快就会集成到LuaTools中,大家通过一个工具入口即可完成尽可能多的功能。

3.5 如果未进行pins_Air780EPM.json的配置,代码可以运行吗?

回答:可以运行,会以Air780EPM各GPIO的默认功能执行;如果所引用的GPIO复用功能跟默认功能不一致,代码就会无法执行。

 图片

今天的内容就分享到这里了~如果您在物联网开发选型中有任何疑问,欢迎留言或联络产品负责人共同探讨。

更多开发资料,详见合宙资料中心:

docs.openluat.com

微信二维码【公众号用】25022701 陆相成.png




▼ 了解更多合宙资讯 ▼


4G+定位+WiFi+蓝牙,Air8000整机开发板
Air8101核心板+配件板新品

合宙低功耗4G模组,再增4款硬核新品





【声明】内容源于网络
0
0
降功耗找合宙
降功耗,找合宙! 合宙工业引擎,可靠的保障。
内容 2788
粉丝 0
降功耗找合宙 降功耗,找合宙! 合宙工业引擎,可靠的保障。
总阅读133
粉丝0
内容2.8k