合宙LuatOS的個(gè)人空間 http://selenalain.com/space-uid-176273.html [收藏] [復制] [RSS]

博客

告別代碼堆砌!LuatIO可視化工具讓GPIO配置“所見(jiàn)即所得”

已有 90 次閱讀2025-6-9 14:14 |個(gè)人分類(lèi):4G模組| 物聯(lián)網(wǎng), 單片機, 4G模塊, 通訊模組, 嵌入式硬件

傳統GPIO配置需耗費大量時(shí)間編寫(xiě)與調試代碼?LuatIO可視化工具徹底打破這一局限。其獨創(chuàng )的可視化編輯界面,支持開(kāi)發(fā)者以“拖拽+參數配置”的方式直接構建硬件控制邏輯,實(shí)時(shí)預覽配置效果。無(wú)需深入底層細節,即可快速實(shí)現引腳功能映射,顯著(zhù)加速智能硬件原型開(kāi)發(fā)速度。

 

本文以Air780EPM為例,分享LuatIO工具相關(guān)內容。
 

最新資料詳見(jiàn):http://docs.openluat.com/air780epm/common/luatio/ 


 

一、 LuatIO工具


Air780EPM共有38個(gè)GPIO,這38個(gè)GPIO又可以復用為各種各樣的功能,如上表所示。

比如PIN66:

什么時(shí)候用作I2C0_SDA?

什么時(shí)候用作I2C1_SDA?

什么時(shí)候用作GPIO19?

什么時(shí)候用作PWM1?

默認功能是什么?

如何進(jìn)行初始化配置?

如何在初始化之后進(jìn)行動(dòng)態(tài)的配置?

……

LuatOS之前的做法是:通過(guò)mcu.altfun()函數進(jìn)行配置,這個(gè)函數非;逎y懂,因為不僅要涉及到Air780EPM所使用主芯片對應的PAD 腳,還要知曉該PAD腳所需配置復用功能的AltFunc順序號,對初學(xué)者非常不友好。

基于此,我們設計了可視化GPIO配置工具—— LuatIO由此工具生成對應的"pins_$model.json"文件,結合API庫函數pins動(dòng)態(tài)配置,最后以腳本的形式下載到模組中,即可完成該模組型號的GPIO復用配置。

 

二、如何使用LuatIO配置GPIO  
 

GPIO配置的全過(guò)程,我們分為四部分進(jìn)行說(shuō)明:


2.1 LuatIO可視化GPIO配置工具

目前單獨的LuatIO工具只是階段性的存在,后續會(huì )集成到LuaTools中,一個(gè)工具入口即可完成盡可能多的功能。

1)下載安裝LuatIO工具

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

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

2)LuatIO界面說(shuō)明

如上截圖,其中:

左側為GPIO復用功能配置選擇欄,空白框內可以寫(xiě)該管腳相應的注釋說(shuō)明;

右側為Air780EPM的管腳排列圖,其中淡綠色部分為可以配置的GPIO管腳。

 

以Air780EPM開(kāi)發(fā)板V1.3為例,根據其硬件實(shí)際使用情況配置后的截圖如下:


2.2 生成pins_Air780EPM.json文件

1)點(diǎn)擊保存:


2)命名"pins_Air780EPM":


注意事項:

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

Air780EPM中的“Air”為大小寫(xiě)組合,“EPM”必須為大寫(xiě)。

 

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


2.3 API庫函數pins動(dòng)態(tài)配置

請使用LuatIO可視化工具進(jìn)行配置,你通常不需要使用這個(gè)功能;

本庫的API屬于高級用法,僅動(dòng)態(tài)配置管腳時(shí)使用(LuatIO本來(lái)已經(jīng)初始化好了,但在代碼運行過(guò)程中需要對某個(gè)或某些GPIO的復用功能進(jìn)行動(dòng)態(tài)調整);

pins是LuatOS核心庫,在腳本代碼中不需要require,可以直接使用。


關(guān)于pins的詳細說(shuō)明參見(jiàn):http://docs.openluat.com/air780epm/luatos/api/core/pins/


2.4 將pins_Air780EPM.json下載到模組

本小節我們只針對不需要“API庫函數pins動(dòng)態(tài)配置”的情況進(jìn)行演示;即便需要的情況下,pins的使用方法跟其它API核心庫函數沒(méi)有區別。


1)以Air780EPM開(kāi)發(fā)板V1.3出廠(chǎng)固件為例:

最新固件下載詳見(jiàn):https://gitee.com/openLuat/LuatOS-Air780EPM/tree/master/demo


2)pins_Air780EPM保存在json文件夾內:


3)下載到Air780EPM開(kāi)發(fā)板V1.3中:

 

三、其他相關(guān)說(shuō)明 

 

3.1 Lua代碼中,需要聲明調用pins_Air780EPM.json文件嗎?

回答:不需要。更詳細的說(shuō)明,參見(jiàn)資料中心函數描述。

pins.loadjson(path)函數詳見(jiàn):http://docs.openluat.com/air780epm/luatos/api/core/pins/

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


 

3.2 雖然該工具很方便,但我已經(jīng)習慣了mcu.altfun()函數配置,還可以繼續使用嗎?

回答:不可以了。

Air780EPM底層固件從V2005開(kāi)始,將只支持pins_Air780EPM.json 一種GPIO復用功能配置方式,之前的mcu.altfun()方式將不再繼續支持!遇到動(dòng)態(tài)配置的情況,可以結合API庫函數pins進(jìn)行操作。

也就是說(shuō),如果您使用Air780EPM底層固件V2004或之前的版本已經(jīng)量產(chǎn)出貨,后續您因某種原因需要遠程升級基于V2005及其后續底層固件版本的軟件時(shí)——您的腳本文件也需要通過(guò)pins_Air780EPM.json的方式,重新對GPIO復用功能進(jìn)行配置,原來(lái)的mcu.altfun()配置方式將會(huì )失效。


 

3.3 為什么我在Docs文檔網(wǎng)站里,還經(jīng)?吹疥P(guān)于mcu.altfun()函數的出現?

回答:在整理了。mcu.altfun()的API庫函數說(shuō)明已經(jīng)從Docs上撤掉,但確實(shí)還有非常多的其它文檔說(shuō)明仍然“保留”,我們可能要花一段時(shí)間才能完全"清除"。


 

3.4 LuatIO功能將來(lái)會(huì )集成到LuaTools中嗎?

回答:一定會(huì )的。目前單獨的LuatIO工具只是階段性的存在,很快就會(huì )集成到LuaTools中,大家通過(guò)一個(gè)工具入口即可完成盡可能多的功能。


 

3.5 如果未進(jìn)行pins_Air780EPM.json的配置,代碼可以運行嗎?

回答:可以運行,會(huì )以Air780EPM各GPIO的默認功能執行;如果所引用的GPIO復用功能跟默認功能不一致,代碼就會(huì )無(wú)法執行。

 

今天的內容就分享到這里了~

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
返回頂部
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页