中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. "); //-->

        博客專(zhuān)欄

        EEPW首頁(yè) > 博客 > LuatIO可視化工具:智能硬件開(kāi)發(fā)者必備的GPIO配置利器

        LuatIO可視化工具:智能硬件開(kāi)發(fā)者必備的GPIO配置利器

        發(fā)布人:13673998452 時(shí)間:2025-06-09 來(lái)源:工程師 發(fā)布文章

        對(duì)于智能硬件開(kāi)發(fā)者而言,高效可靠的GPIO配置是項(xiàng)目成功的關(guān)鍵。LuatIO可視化工具提供了一套零代碼配置方案,通過(guò)可視化的引腳映射與邏輯編排功能,讓用戶(hù)擺脫手動(dòng)編寫(xiě)驅(qū)動(dòng)的束縛。從初始化到功能實(shí)現(xiàn),全程圖形化操作,極大縮短開(kāi)發(fā)周期,提升工程迭代效率。


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

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


         

        一、 LuatIO工具



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

        比如PIN66:

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

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

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

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

        默認(rèn)功能是什么?

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

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

        ……

        LuatOS之前的做法是:通過(guò)mcu.altfun()函數(shù)進(jìn)行配置,這個(gè)函數(shù)非常晦澀難懂,因?yàn)椴粌H要涉及到Air780EPM所使用主芯片對(duì)應(yīng)的PAD 腳,還要知曉該P(yáng)AD腳所需配置復(fù)用功能的AltFunc順序號(hào),對(duì)初學(xué)者非常不友好。

        基于此,我們?cè)O(shè)計(jì)了可視化GPIO配置工具—— LuatIO由此工具生成對(duì)應(yīng)的"pins_$model.json"文件,結(jié)合API庫(kù)函數(shù)pins動(dòng)態(tài)配置,最后以腳本的形式下載到模組中,即可完成該模組型號(hào)的GPIO復(fù)用配置。

         


        二、如何使用LuatIO配置GPIO  
         

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


        2.1 LuatIO可視化GPIO配置工具

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


        1)下載安裝LuatIO工具

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

        注意:LuatIO工具僅支持Win10及之上Windows操作系統(tǒng)。


        2)LuatIO界面說(shuō)明


        如上截圖,其中:

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

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

         

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



        2.2 生成pins_Air780EPM.json文件

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


        2)命名"pins_Air780EPM":


        注意事項(xiàng):

        文件名必須嚴(yán)格遵守pins_$model.json格式:pins_Air780EPM;

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

         

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



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

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

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

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


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



        2.4 將pins_Air780EPM.json下載到模組

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


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

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


        2)pins_Air780EPM保存在json文件夾內(nèi):


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

         


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

         

        3.1 Lua代碼中,需要聲明調(diào)用pins_Air780EPM.json文件嗎?

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

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

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


         

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

        回答:不可以了。

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

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


         

        3.3 為什么我在Docs文檔網(wǎng)站里,還經(jīng)常看到關(guān)于mcu.altfun()函數(shù)的出現(xiàn)?

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


         

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

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


         

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

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

         

        今天的內(nèi)容就分享到這里了~


        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。




        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉