-
GPIO 暫存器在每個端口上最多支持 32 個引腳。根據 Device 和封裝類型不同,那些未連接到特定外設功能的 Device 引腳由 GPIO 暫存器控制。
( 圖 1 )
-
GPIO 特徵
- GPIO 暫存器位於 AHB 上,因此可以實現最快的 I/O 時序。
- GPIO 暫存器可於一個端口中的任意數量同時做設置、清除和切換指令。
- 可以選擇所有 GPIO 引腳來創建邊沿或電平的 GPIO 中斷請求。
- 兩個 GPIO 組中斷可以由任意一個或多個引腳的組合觸發,以反映兩種不同的中斷模式。
-
GPIO 基本程式範例
1. 啟動 IOCON,透過 AHB 開啟 IOCON 模塊 clock,並重置 IOCON 模塊
( 圖 2 )
2. 設定 GPIO 的 IOCON,選擇 PIOm_n 功能,關閉類比開關且開啟數位模式,選擇 normal push-pull 模式
( 圖 2 )
2. 設定 GPIO 的 IOCON,選擇 PIOm_n 功能,關閉類比開關且開啟數位模式,選擇 normal push-pull 模式
( 圖 3 )
( 圖 4 )
( 圖 5 )
3. 啟動 GPIO,透過 AHB 開啟 GPIO 模塊 clock,並重置 GPIO 模塊
( 圖 6 )
4. 透過下方圖 8 的暫存器來控制 GPIO 輸出狀態,程式範例使用 SET[m] 和 B[m] 來控制 GPIO 為 High 狀態
(圖 7 )
( 圖 8 )
5. 透過下方圖 10 的暫存器來控制 GPIO 輸入/輸出狀態,程式範例使用 DIR[m] 來控制 GPIO 為 1,即為輸出
( 圖 9 )
( 圖 10 )
-
以實際 EVK 呈現 GPIO 輸出,將 R/G/B LED 點亮
( 圖 11 )
參考資料:
LPC55S0x/LPC550x Preliminary data sheet (nxp.com)
LPC55S0x/LPC550x User manual (nxp.com)
評論