博客專欄

        EEPW首頁 > 博客 > LuatIO可視化工具:智能硬件開發者必備的GPIO配置利器

        LuatIO可視化工具:智能硬件開發者必備的GPIO配置利器

        發布人:13673998452 時間:2025-06-09 來源:工程師 發布文章

        對于智能硬件開發者而言,高效可靠的GPIO配置是項目成功的關鍵。LuatIO可視化工具提供了一套零代碼配置方案,通過可視化的引腳映射與邏輯編排功能,讓用戶擺脫手動編寫驅動的束縛。從初始化到功能實現,全程圖形化操作,極大縮短開發周期,提升工程迭代效率。


        本文以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復用功能跟默認功能不一致,代碼就會無法執行。

         

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


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 玉山县| 延津县| 昭平县| 兴和县| 阿勒泰市| 广昌县| 关岭| 凤台县| 英山县| 那曲县| 苏尼特右旗| 炉霍县| 读书| 岫岩| 五峰| 台东县| 绥宁县| 平顶山市| 芦山县| 剑河县| 广元市| 平邑县| 吉林省| 大同市| 石棉县| 诏安县| 托里县| 福贡县| 松江区| 岚皋县| 北安市| 广南县| 资源县| 军事| 宿松县| 驻马店市| 中西区| 黑河市| 凤台县| 南召县| 仙桃市|