博客專欄

        EEPW首頁 > 博客 > Air724UG軟件指南:GPIO示例

        Air724UG軟件指南:GPIO示例

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

        本文將解析4G模組GPIO編程技巧,從概述、軟硬件環境準備、示例等詳細道來:



        一、GPIO 概述


        GPIO 是通用型輸入輸出的簡稱,一個 GPIO 引腳可以用于輸入、輸出或其他特殊功能。



        二、演示功能概述


        本文將介紹 724UG GPIO 的輸入與輸出 DEMO 講解與效果演示。



        三、準備硬件環境


        3.1 開發板準備


        使用 Air724UG-NFM 開發板,如下圖所示:

        wKgZoWc9-mSAXDtEABb6SHB_A40024.png


        此開發板的詳細使用說明參考:
        https://docs.openluat.com/air724ug/product/

        Air724UG 產品手冊 中的 《EVB_Air724UG_AXX開發板使用說明》,寫這篇文章時最新版本的使用說明為:《EVB_Air724UG_A14開發板使用說明》;開發板使用過程中遇到任何問題,可以直接參考這份使用說明文檔。


        3.2 數據通信線


        請準備一根用于連接 Air724UG-NFM 開發板和 PC 電腦的數據線,該數據線將實現業務邏輯的控制與交互。

        USB 數據線(其一端為 micro-B 接口(俗稱老安卓口),用于連接 Air724UG-NFM 開發板)。通常,這種數據線的外觀如下示意圖所示:

        wKgaoWc9-nmAIqYyAAIsbt2QdLc739.png

        USB 數據線:此數據線不僅用于為測試板供電,還可用于查看抓取 lua 腳本上層和底層 core 日志。其一端為 micro-B 接口,連接 Air724UG-NFM 開發板;另一端為標準 USB 接口,連接 PC 電腦。


        3.3 PC 電腦

        WINDOWS 系統,其他暫無特別要求;



        四、準備軟件環境


        4.1 源碼和工具

        724UG 模塊使用固件為 LuatOS-Air_V4030_RDA8910_TTS_NOLVGL_FLOAT.pac

        下載最新版本的底層 CORE,解壓后會出現多個版本的固件,本教程使用的是 LuatOS-Air_V4030_RDA8910_TTS_NOLVGL_FLOAT.dfota.bin。

        wKgaoWc9-oyAdY_sAActmXqRt3c561.png

        本教程使用的 demo:
        https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/gpio/gpioSingle

        將固件和腳本燒錄到模塊中,使用說明參考:
        https://docs.openluat.com/Luatools/


        4.2 燒錄代碼


        首先,確保你的 Luatools 的版本大于或者等于 3.0.6 版本.

        在 Luatools 的左上角上有版本顯示的,如圖所示:

        wKgZoWc9-pyAHNYIAAFGCC9eZ0Y106.png

        Luatools 版本沒問題的話, 就點擊 Luatools 右上角的“項目管理測試”按鈕,如下圖所示:

        wKgZoWc9-qeAEiRWAAFhfercOTI844.png

        這時會彈出項目管理和燒錄管理的對話框,如下圖:

        wKgaoWc9-rKAXmg8AARKUznSH_A221.png

        選擇對應的項目燒錄代碼。

        wKgZoWc9-r2AKDFKAAQ36-PSuC0597.png


        五、GPIO 軟硬件資料


        5.1 相關硬件接口

        Air724UG 模塊引腳共支持 28 個 GPIO,部分引腳上電前后狀態不同,如使用這些管腳,需根據實際情況使用。

        管腳定義:

        wKgaoWc9-siACPOsAAGGBdOD1AM216.png

        參考硬件設計手冊中的管腳描述:
        https://docs.openluat.com/air724ug/product/


        5.2 相關 API 介紹


        GPIO 相關 API: 
        https://doc.openluat.com/wiki/21?wiki_page_id=2286



        六、功能示例


        6.1 GPIO 簡介


        GPIO(General-Purpose Input/Output) 指通用輸入輸出口。在軟件運行期間能夠動態配置和控制的通用引腳,實現某時刻電平狀態的輸出與輸入,即可以通過它們輸出高低電平或者通過它們讀入引腳的狀態-是高電平或是低電平。


        6.2 輸入模式簡介


        GPIO 的輸入模式是指將 GPIO 配置為接收外部信號的模式。


        6.2.1 核心代碼

        wKgZoWc9-tOAPUPTAAGUS-TewpA171.png


        6.2.2 示例效果展示


        使用杜邦線短接 VDD1V8 和 GPIO19。

        wKgaoWc9-uGACamuABI07EPXzRI788.pngwKgZoWc9-uyANjSQAApJX5DdT2k832.png


        6.3 輸出模式簡介


        GPIO 的輸出模式是指將 GPIO 配置為向外界輸出高低電平的模式。


        6.3.1 核心代碼

        wKgaoWc9-vaAdyQhAAIZgSaLh9o868.png


        6.3.2 示例效果展示:


        wKgaoWc9-v-AYfTaAAlbc_MLsCM215.png


        6.4 中斷模式簡介


        當 GPIO 檢測到電平變化且滿足觸發條件時,觸發中斷,CPU 就會暫停當前任務,執行中斷回調函數中的內容,當中斷回調函數中的內容執行完畢時,再繼續執行之前沒有執行完的任務。除了中斷回調方式,還有中斷計數模式。中斷計數模式時,中斷時不回調。


        6.4.1 核心代碼

        wKgZoWc9-wqAL4nOAAI1yD0wsqA227.png

        6.4.2 示例效果展示:

        使用杜邦線將 GPIO13 短接下 VDD1V8.

        wKgZoWc9-xSAMK6nAAOpP7yCheg717.png


        七、總結


        本節我們學習了有關 GPIO 的知識。其中包括輸入模式,輸出模式,中斷模式。

        合宙 Cat.1 模塊具有多種不同的 GPIO 接口,部分 GPIO 口同時可復用為其他功能,并且模塊的 GPIO 管腳輸入輸出電壓能力按照不同的電壓域區分,特珠管腳的使用需要打開對應的電壓域方能使用。



        八、常見問題


        1. 為什么 GPIO4 管腳操作沒反應?

        答:GPIO4 管腳為 VCC_LCD 電壓域,需要先配置 pmd.ldoset(2,pmd.LDO_VLCD)打開,才能正常操作該管腳。



        九、擴展


        脈沖統計個數:

        使用杜邦線短接 GPIO23 和 GPIO11

        wKgaoWc9-y6AW-ibAARiy2lwNqE639.pngwKgZoWc9-zqAGZUFAAIkN-Mk6cw013.png

        示例效果展示:

        wKgZoWc9-0OAWxx9AAhY5kqUyyI358.png

        分享完畢。


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




        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 仙居县| 丹阳市| 徐闻县| 比如县| 温州市| 中卫市| 会昌县| 山丹县| 岱山县| 济阳县| 潼南县| 曲松县| 康马县| 广河县| 达日县| 马关县| 皋兰县| 边坝县| 海口市| 武义县| 苏尼特左旗| 比如县| 汨罗市| 右玉县| 石泉县| 天长市| 德令哈市| 阳江市| 深泽县| 河池市| 乌鲁木齐县| 安西县| 林甸县| 元氏县| 郓城县| 招远市| 神农架林区| 乌拉特前旗| 张北县| 望奎县| 汾西县|