------------------------------------
注:詳細使用可參考《【北京迅為】itop-3588開發板驅動開發指南》
GPIO基本概念
GPIO,即General-Purpose Input/Output,指的是可以由軟件控制的通用輸入輸出引腳。每個GPIO引腳可以配置為輸入或輸出,用來讀取外部設備的狀態(如按鍵)或控制外設(如LED、馬達等)
GPIO應用領域
GPIO作為嵌入式設備中不可或缺的接口,在以下多個領域有廣泛應用:
●智能家居:用于控制和監測家電、燈光、窗簾、傳感器等智能設備,通過GPIO引腳讀取傳感器狀態或發送控制信號。
●工業自動化:GPIO用于連接和控制工業機器、機器人、傳感器等設備,通過簡單的開關控制機制實現自動化流程。
●物聯網(IoT):GPIO在物聯網設備中廣泛應用,用于與傳感器、執行器(如繼電器)等設備通信,實現數據采集和設備控制。
●汽車電子:在車載系統中,GPIO用于與各種車載傳感器和執行器連接,提供控制信號,如車燈、門鎖、報警器等的控制。
●機器人技術:GPIO用于控制機器人中的電機、傳感器和其他外部設備,實現精準的硬件控制和反饋處理。
使用RK3588處理器上的GPIO接口
在RK3588平臺上,GPIO的使用非常靈活,既可以通過內核提供的sysfs接口進行控制,也可以通過debugfs進行調試。下面我們將介紹如何通過這兩種方式來操作GPIO。
01
01GPIO選擇
可以看到5號管腳的網絡標號為UART9_RX_M0_BT,然后打開pin腳復用手冊,根據這個網絡標號進行搜索,查找到的復用內容如下所示:
可以看到GPIO引腳編號GPIO2_C4,我們將LED的正極連接到這GPIO,負極連接到GND。
02
02使用sysfs接口控制GPIO
GPIO軟件編程方式有多種,可以寫驅動程序調用GPIO函數操作GPIO,也可以直接通過操作寄存器的方式操作GPIO,還可以通過sysfs方式實現對GPIO的控制。
sysfs接口是Linux內核提供的一種標準方式,允許用戶在用戶空間操作GPIO。通過簡單的命令行操作,就可以控制GPIO引腳,點亮或熄滅LED。這里我們使用較為簡單的用戶空間控制GPIO的方法,通過配置GPIO為輸出模式,向其寫入高電平(1)或低電平(0)來控制LED的開關。
?引腳號計算
引腳編號=控制寄存器的寄存器基數+控制引腳寄存器位數。
GPIO2_PC4 pin腳計算方法:
bank = 2; //GPIO2_C4=> 2, bank ∈ [0,4]group = 2; //GPIO2_C4 => 2, group ∈ {(A=0), (B=1), (C=2), (D=3)}X = 4; //GPIO2_C4=>4, X ∈ [0,7]number = group * 8 + X = 2 * 8 + 4 =20;pin = bank*32 + number= 2 * 32 + 20 = 84;
? 導出GPIO引腳
echo 84> /sys/class/gpio/export
? 配置GPIO為輸出模式
接下來,設置該GPIO引腳為輸出模式:
echo "out" > /sys/class/gpio/gpio84/direction
? 控制LED開關
通過向GPIO的value文件寫入1或0來控制LED的狀態:
打開LED:
echo 1 > /sys/class/gpio/gpio84/value
關閉LED:
echo 0 > /sys/class/gpio/gpio84/value
?釋放GPIO引腳
使用完畢后,可以將GPIO從用戶空間移除:
echo 84> /sys/class/gpio/unexport
03
03GPIO調試
在更高級的調試場景中,debugfs文件系統提供了對GPIO引腳狀態和復用情況的深入查看和調試能力。可以通過以下步驟獲取GPIO的詳細信息:
? 查看GPIO的輸入/輸出模式、上拉/下拉設置等電氣屬性
cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinconf-pins | grep 84
? 查看每個引腳的功能模式、引腳復用選擇以及其他相關的配置信息
cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins| grep 84
通過這個文件,你可以確認每個引腳的當前復用配置,例如某個引腳可能被復用為UART、SPI等設備的控制引腳。如果想要重新配置為GPIO引腳,可以通過設備樹進行調整。
-
開發板
+關注
關注
25文章
4943瀏覽量
97188 -
GPIO
+關注
關注
16文章
1196瀏覽量
51909 -
RK3588
+關注
關注
6文章
312瀏覽量
4221 -
迅為電子
+關注
關注
0文章
27瀏覽量
25
發布評論請先 登錄
相關推薦
評論