普适的GPIO引脚操作方法
生活随笔
收集整理的這篇文章主要介紹了
普适的GPIO引脚操作方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1 普適的GPIO引腳操作方法
- 1.1 GPIO模塊一般結構
- 1.2 GPIO相關寄存器
- 1.3 GPIO寄存器的2種操作方法
- 1.4 GPIO的其他功能:防抖動、中斷、喚醒
1 普適的GPIO引腳操作方法
GPIO:General-purpose input/output,通用的輸入輸出口。
1.1 GPIO模塊一般結構
有多組 GPIO,每組有多個 GPIO。
使能: 電源/時鐘。
模式(Mode): 引腳可用于 GPIO 或其他功能。
方向: 引腳 Mode 設置為 GPIO 時,可以繼續設置它是輸出引腳,還是輸入引腳。
數值: 對于輸出引腳,可以設置寄存器讓它輸出高、低電平;對于輸入引腳,可以讀取寄存器得到引腳的當前電平。
1.2 GPIO相關寄存器
使能:
- 芯片手冊一般有相關章節,用來介紹:power/clock。
- 可以設置對應寄存器使能某個 GPIO 模塊(Module)。
- 有些芯片的 GPIO 是沒有使能開關的,即它總是使能的。
模式(Mode):
- 一個引腳可以用于 GPIO、串口、USB 或其他功能。
- 有對應的寄存器來選擇引腳的功能。
方向:
- 對于已經設置為 GPIO 功能的引腳,有方向寄存器用來設置它的方向:輸出、輸入。
數值:
- 對于已經設置為 GPIO 功能的引腳,有數據寄存器用來寫、讀引腳電平狀態。
1.3 GPIO寄存器的2種操作方法
原則:不能影響到其他位。
1. 直接讀寫:讀出、修改對應位、寫入。
//要設置 bit n: val = data_reg; val = val | (1<<n); data_reg = val;//要清除 bit n: val = data_reg; val = val & ~(1<<n); data_reg = val;2. set-and-clear protocol:
set_reg, clr_reg, data_reg 三個寄存器對應的是同一個物理寄存器,要設置 bit n:set_reg = (1<<n);要清除 bit n:clr_reg = (1<<n)。
1.4 GPIO的其他功能:防抖動、中斷、喚醒
后續介紹。
參考資料:
總結
以上是生活随笔為你收集整理的普适的GPIO引脚操作方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: void关键字
- 下一篇: IMX6ULL的GPIO操作方法