本文將解析4G模組GPIO編程技巧,從概述、軟硬件環(huán)境準(zhǔn)備、示例等詳細(xì)道來(lái):
一、GPIO 概述
GPIO 是通用型輸入輸出的簡(jiǎn)稱,一個(gè) GPIO 引腳可以用于輸入、輸出或其他特殊功能。
二、演示功能概述
本文將介紹 724UG GPIO 的輸入與輸出 DEMO 講解與效果演示。
三、準(zhǔn)備硬件環(huán)境
3.1 開(kāi)發(fā)板準(zhǔn)備
使用 Air724UG-NFM 開(kāi)發(fā)板,如下圖所示:
此開(kāi)發(fā)板的詳細(xì)使用說(shuō)明參考:
https://docs.openluat.com/air724ug/product/
Air724UG 產(chǎn)品手冊(cè)中的 《EVB_Air724UG_AXX開(kāi)發(fā)板使用說(shuō)明》,寫這篇文章時(shí)最新版本的使用說(shuō)明為:《EVB_Air724UG_A14開(kāi)發(fā)板使用說(shuō)明》;開(kāi)發(fā)板使用過(guò)程中遇到任何問(wèn)題,可以直接參考這份使用說(shuō)明文檔。
3.2 數(shù)據(jù)通信線
請(qǐng)準(zhǔn)備一根用于連接 Air724UG-NFM 開(kāi)發(fā)板和 PC 電腦的數(shù)據(jù)線,該數(shù)據(jù)線將實(shí)現(xiàn)業(yè)務(wù)邏輯的控制與交互。
USB 數(shù)據(jù)線(其一端為 micro-B 接口(俗稱老安卓口),用于連接 Air724UG-NFM 開(kāi)發(fā)板)。通常,這種數(shù)據(jù)線的外觀如下示意圖所示:
USB 數(shù)據(jù)線:此數(shù)據(jù)線不僅用于為測(cè)試板供電,還可用于查看抓取 lua 腳本上層和底層 core 日志。其一端為 micro-B 接口,連接 Air724UG-NFM 開(kāi)發(fā)板;另一端為標(biāo)準(zhǔn) USB 接口,連接 PC 電腦。
3.3 PC 電腦
WINDOWS 系統(tǒng),其他暫無(wú)特別要求;
四、準(zhǔn)備軟件環(huán)境
4.1 源碼和工具
724UG 模塊使用固件為LuatOS-Air_V4030_RDA8910_TTS_NOLVGL_FLOAT.pac
下載最新版本的底層 CORE,解壓后會(huì)出現(xiàn)多個(gè)版本的固件,本教程使用的是 LuatOS-Air_V4030_RDA8910_TTS_NOLVGL_FLOAT.dfota.bin。
本教程使用的 demo:
https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/gpio/gpioSingle
將固件和腳本燒錄到模塊中,使用說(shuō)明參考:
https://docs.openluat.com/Luatools/
4.2 燒錄代碼
首先,確保你的 Luatools 的版本大于或者等于 3.0.6 版本.
在 Luatools 的左上角上有版本顯示的,如圖所示:
Luatools 版本沒(méi)問(wèn)題的話, 就點(diǎn)擊 Luatools 右上角的“項(xiàng)目管理測(cè)試”按鈕,如下圖所示:
這時(shí)會(huì)彈出項(xiàng)目管理和燒錄管理的對(duì)話框,如下圖:
選擇對(duì)應(yīng)的項(xiàng)目燒錄代碼。
五、GPIO 軟硬件資料
5.1 相關(guān)硬件接口
Air724UG 模塊引腳共支持 28 個(gè) GPIO,部分引腳上電前后狀態(tài)不同,如使用這些管腳,需根據(jù)實(shí)際情況使用。
管腳定義:
參考硬件設(shè)計(jì)手冊(cè)中的管腳描述:
https://docs.openluat.com/air724ug/product/
5.2 相關(guān) API 介紹
GPIO 相關(guān) API:
https://doc.openluat.com/wiki/21?wiki_page_id=2286
六、功能示例
6.1 GPIO 簡(jiǎn)介
GPIO(General-Purpose Input/Output) 指通用輸入輸出口。在軟件運(yùn)行期間能夠動(dòng)態(tài)配置和控制的通用引腳,實(shí)現(xiàn)某時(shí)刻電平狀態(tài)的輸出與輸入,即可以通過(guò)它們輸出高低電平或者通過(guò)它們讀入引腳的狀態(tài)-是高電平或是低電平。
6.2 輸入模式簡(jiǎn)介
GPIO 的輸入模式是指將 GPIO 配置為接收外部信號(hào)的模式。
6.2.1 核心代碼
6.2.2 示例效果展示
使用杜邦線短接 VDD1V8 和 GPIO19。
6.3 輸出模式簡(jiǎn)介
GPIO 的輸出模式是指將 GPIO 配置為向外界輸出高低電平的模式。
6.3.1 核心代碼
6.3.2 示例效果展示:
6.4 中斷模式簡(jiǎn)介
當(dāng) GPIO 檢測(cè)到電平變化且滿足觸發(fā)條件時(shí),觸發(fā)中斷,CPU 就會(huì)暫停當(dāng)前任務(wù),執(zhí)行中斷回調(diào)函數(shù)中的內(nèi)容,當(dāng)中斷回調(diào)函數(shù)中的內(nèi)容執(zhí)行完畢時(shí),再繼續(xù)執(zhí)行之前沒(méi)有執(zhí)行完的任務(wù)。除了中斷回調(diào)方式,還有中斷計(jì)數(shù)模式。中斷計(jì)數(shù)模式時(shí),中斷時(shí)不回調(diào)。
6.4.1 核心代碼
6.4.2 示例效果展示:
使用杜邦線將 GPIO13 短接下 VDD1V8.
七、總結(jié)
本節(jié)我們學(xué)習(xí)了有關(guān) GPIO 的知識(shí)。其中包括輸入模式,輸出模式,中斷模式。
合宙 Cat.1 模塊具有多種不同的 GPIO 接口,部分 GPIO 口同時(shí)可復(fù)用為其他功能,并且模塊的 GPIO 管腳輸入輸出電壓能力按照不同的電壓域區(qū)分,特珠管腳的使用需要打開(kāi)對(duì)應(yīng)的電壓域方能使用。
八、常見(jiàn)問(wèn)題
1. 為什么 GPIO4 管腳操作沒(méi)反應(yīng)?
答:GPIO4 管腳為 VCC_LCD 電壓域,需要先配置 pmd.ldoset(2,pmd.LDO_VLCD)打開(kāi),才能正常操作該管腳。
九、擴(kuò)展
脈沖統(tǒng)計(jì)個(gè)數(shù):
使用杜邦線短接 GPIO23 和 GPIO11
示例效果展示:
分享完畢。
審核編輯 黃宇
-
4G
+關(guān)注
關(guān)注
15文章
5520瀏覽量
119055 -
編程
+關(guān)注
關(guān)注
88文章
3616瀏覽量
93735 -
GPIO
+關(guān)注
關(guān)注
16文章
1204瀏覽量
52099
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論