今天我要講的技術是4G模組Air724UG軟體的GPIO教程,希望看文的你有所收穫。
一、GPIO 概述
GPIO 是通用型輸入輸出的簡稱,一個 GPIO 引腳可以用於輸入、輸出或其他特殊功能。
二、演示功能概述
本文將介紹 724UG GPIO 的輸入與輸出 DEMO 講解與效果演示。
三、準備硬體環境
3.1 開發板準備
使用 Air724UG-NFM 開發板,如下圖所示:
此開發板的詳細使用說明參考:
https://docs.openluat.com/air724ug/product/
Air724UG 產品手冊 中的 《EVB_Air724UG_AXX開發板使用說明》,寫這篇文章時最新版本的使用說明為:《EVB_Air724UG_A14開發板使用說明》;開發板使用過程中遇到任何問題,可以直接參考這份使用說明文件。
3.2 資料通訊線
請準備一根用於連線 Air724UG-NFM 開發板和 PC 電腦的資料線,該資料線將實現業務邏輯的控制與互動。
USB 資料線(其一端為 micro-B 介面(俗稱老安卓口),用於連線 Air724UG-NFM 開發板)。通常,這種資料線的外觀如下示意圖所示:
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。
本教程使用的 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 的左上角上有版本顯示的,如圖所示:
Luatools 版本沒問題的話, 就點選 Luatools 右上角的“專案管理測試”按鈕,如下圖所示:
這時會彈出專案管理和燒錄管理的對話方塊,如下圖:
選擇對應的專案燒錄程式碼。
五、GPIO 軟硬體資料
5.1 相關硬體介面
Air724UG 模組引腳共支援 28 個 GPIO,部分引腳上電前後狀態不同,如使用這些管腳,需根據實際情況使用。
管腳定義:
參考硬體設計手冊中的管腳描述:
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 核心程式碼
6.2.2 示例效果展示
使用杜邦線短接 VDD1V8 和 GPIO19。
6.3 輸出模式簡介
GPIO 的輸出模式是指將 GPIO 配置為向外界輸出高低電平的模式。
6.3.1 核心程式碼
6.3.2 示例效果展示:
6.4 中斷模式簡介
當 GPIO 檢測到電平變化且滿足觸發條件時,觸發中斷,CPU 就會暫停當前任務,執行中斷回撥函式中的內容,當中斷回撥函式中的內容執行完畢時,再繼續執行之前沒有執行完的任務。除了中斷回撥方式,還有中斷計數模式。中斷計數模式時,中斷時不回撥。
6.4.1 核心程式碼
6.4.2 示例效果展示:
使用杜邦線將 GPIO13 短接下 VDD1V8.
七、總結
本節我們學習了有關 GPIO 的知識。其中包括輸入模式,輸出模式,中斷模式。
Cat.1 模組具有多種不同的 GPIO 介面,部分 GPIO 口同時可複用為其他功能,並且模組的 GPIO 管腳輸入輸出電壓能力按照不同的電壓域區分,特珠管腳的使用需要開啟對應的電壓域方能使用。
八、常見問題
1. 為什麼 GPIO4 管腳操作沒反應?
答:GPIO4 管腳為 VCC_LCD 電壓域,需要先配置 pmd.ldoset(2,pmd.LDO_VLCD)開啟,才能正常操作該管腳。
九、擴充套件
脈衝統計個數:
使用杜邦線短接 GPIO23 和 GPIO11
示例效果展示:
分享完畢。