F28335學習之GPIO配置

2021-09-25 10:08:54 字數 1088 閱讀 1142

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 電平操作暫存器

F28335 定時器學習總結

1 定時器的操作原理 f28335有3個32位的通用定時器,分別時timer0,timer1,timer2 我們一般只使用定時器0,在特殊的實時作業系統bios時需要用定時器timer1和timer2 但是如果沒有使用實時作業系統,3個定時器都可以使用。下圖位定時器功能框圖 定時器中斷結構 定時器的...

F28335學習(一)硬體及引數

1 f28335的獨特之處 單週期完成32 32的乘法累加 更小的中斷延時,這使得28335能夠更快的響應外部事件 8級流水線儲存器,能夠更高速對資料進行處理 任何記憶體都可以在單週期內進行讀,寫和修改 2 f28335的硬體引數 flash 256k 16 位 sram 34k 16 位 pwm ...

F28335的DSP中主頻的配置

在學習dsp的時候,常常有個問題。f28335的dsp主頻可達150mhz,但是這個150mhz的配置實現方式在示例中只有一種方式。即選用30mhz的晶振,然後使用pll十倍頻得到300mhz之後,然後再2分頻得到150mhz。經過查詢官方手冊,得到的結論是,常用的配置方式只能是這樣。主頻的計算 首...