F28335學習之GPIO配置

1 GPIO工作原理
外界二進制信息(數字量)要被CPU處理,要給存儲器存放,就需要外界信息源與兩者之間的交換接口,這樣的交換接口若用來進行通用目的數字量的輸入輸出,就被稱爲通用數字量輸入/輸出接口,簡稱GPIO。
F28335的88路GPIO被分爲3組

A組:GPIO0 - GPIO31 只能配置INT1-INT3
B組:GPIO32 - GPIO63 配置INT4-INT12
C組:GPIO64 - GPIO87
2 GPIO的寄存器
2.1 GPIOMux(複用開關)寄存器 16位
F28335 DSP有多達88個GPIO口,對應着芯片引出的88個引腳,隨着芯片的封裝與尺寸的確定,引腳數目是有限的,所以這88個引腳多數都是功能複用的,即可以靈活配置爲輸入引腳,也可以靈活配置爲輸出引腳,即可以作爲通用I/O引腳,也可以作爲特殊功能口(如SCI、SPI、ECAN等),非常靈活,用戶根據需要,可以通過GPIOMUX(輸入輸出多路選擇器,複用開關)寄存器來進行相關配置。

GpioCtrlRegs.GPBMUX2.bit.GPIO54 = 0 將GPIO54設爲數字I/O功能
GpioCtrlRegs.GPBMUX2.bit.GPIO54 = 1 將GPIO54設爲外設功能
2.2 GPIODIR(方向)寄存器 32位
如果將這些引腳選擇數字量I/O模式,可以通過方向寄存器GPxDIR配置數字量I/O的方向,即是作爲輸入引腳還是作爲輸出引腳。

GpioCtrlRegs.GPBDIR.bit.GPIO54 = 0 將GPIO54設爲輸入功能
GpioCtrlRegs.GPBDIR.bit.GPIO54 = 1 將GPIO54設爲輸出功能
2.3 GPxQUAL(量化)寄存器 32位
在GPIO作爲數字I/O且位輸入模式時,就會涉及到採樣準確與否的問題,如果在輸入信號毛刺較多的情況下,如果直接讀取很可能會得到錯誤的信號。因此我們需要對輸入的信號進行量化採樣。

上圖就是一個只有信號保持6個系統時鐘週期,才確認信號是高還是低電平的操作。
所以我們通過結合實際需求來設置這個量化寄存器GPxQUAL,得到我們所需要的準確信號,一般與GPxQSEL配合使用。

2.4 電平操作寄存器

GPxDAT寄存器:用於對I/O口置1或0,但是反應速度比較慢,一般在信號輸入的時候用,輸出的時候用下面三個。
GPxSET寄存器: 用於對I/O置1,速度快
GPxCLEAR寄存器:用於對I/O清0
注意這裏的GPxSET和GPxCLEAR都只能置1,不能置0,置1功能有效
GPxTOOGLE寄存器: 用於對I/O的電平翻轉

作者:沉沙丶
來源:CSDN
原文:https://blog.csdn.net/sy243772901/article/details/83015694
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章