本文將解析4G模組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
示例效果展示:
分享完畢。
審核編輯 黃宇
-
4G
+關注
關注
15文章
5517瀏覽量
118979 -
編程
+關注
關注
88文章
3614瀏覽量
93686 -
GPIO
+關注
關注
16文章
1204瀏覽量
52052
發布評論請先 登錄
相關推薦
評論