当前位置: 首页 > news >正文

轻松掌控硬件接口:LuatIO可视化工具,物联网开发的“效率加速器”!

想要快速搭建物联网设备?LuatIO的GPIO可视化配置工具将复杂设置转化为简单拖拽,自动适配多种协议,让开发者从底层调试中解放,专注创新,效率提升立竿见影!

本文以Air780EPM为例,分享LuatIO工具相关内容。

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

一、 LuatIO工具


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复用配置。

二、如何使用LuatIO配置GPIO  

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

2.1 LuatIO可视化GPIO配置工具

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

1)下载安装LuatIO工具

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

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

2)LuatIO界面说明


如上截图,其中:

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

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

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


2.2 生成pins_Air780EPM.json文件

1)点击保存:


2)命名"pins_Air780EPM":


注意事项:

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

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

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


2.3 API库函数pins动态配置

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

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

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

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


2.4 将pins_Air780EPM.json下载到模组

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

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

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


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


3)下载到Air780EPM开发板V1.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复用功能跟默认功能不一致,代码就会无法执行。

今天的内容就分享到这里了~

相关文章:

  • 动态规划-1035.不相交的线-力扣(LeetCode)
  • 【学习分享】shell基础-数组
  • Day45 Python打卡训练营
  • minio入门学习
  • 【AI学习】KV-cache和page attention
  • 如何使用 Redis 快速实现布隆过滤器?
  • 守护进程实验——autoDL
  • ABP VNext 在 Kubernetes 中的零停机蓝绿发布
  • Java-IO流之转换流详解
  • 高性能分布式消息队列系统(三)
  • STM32 NVIC中断控制器
  • 【LLIE专题】NTIRE 2025 低照度图像增强第二名方案
  • JS深入学习 — 循环、函数、数组、字符串、Date对象,Math对象
  • 【Algorithm】Segment Tree 简单介绍
  • 图着色问题(回溯)
  • Redisson简明教程—你家的锁芯该换了
  • 【连接器专题】案例:从可靠性测试报告来看SD卡座测试都需要用到哪些仪器
  • Github Copilot新特性:Copilot Spaces-成为某个主题的专家
  • [大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
  • [蓝桥杯]修改数组
  • 新闻稿营销/seo外包公司哪家专业
  • 沭阳哪里可以做网站/国外seo
  • 局域网站建设模版/制作网站需要什么软件
  • 仿券妈妈网站开发/seo指的是什么意思
  • html5企业网站建设/手机百度网页版
  • 山东大良网站建设/百度登录