IO用作GPIO時需設置寄存器(8個)

一個GPIO佔一個位,bit3就是GPIO3,bit1就是GPIO

DR數據寄存器,32位,高電平GPIO.DR=1,低電平GPIO.DR=0  若設置GPIO3爲高電平,則GPIO3_DR=0x8

GDIR方向寄存器,32位,用來設置GPIO工作方式,即輸入和輸出。輸出GPIO.GDIR=1,輸入GPIO.GDIR=0

PSR狀態寄存器,獲取GPIO的狀態,即高低電平

ICR1,ICR2中斷控制寄存器,ICR1配置低16個GPIO,ICR2配置高16個GPIO

IMR中斷屏蔽寄存器,用來控制GPIO的中斷禁止和使能,使能中斷GPIO_IMR=1,禁止中斷GPIO_IMR=0

ISR中斷狀態寄存器,一個GPIO對應一個位,只要某個GPIO的中斷髮生,那麼ISR中相應的位設置爲1,通過讀取ISR來判斷GPIO中斷是否發生,相當於ISR中的位就是中斷標誌位,當處理完中斷必須清除中斷標誌位,向相應的位寫1就是清除。

EDGE_SEL邊沿選擇寄存器,用來設置邊沿中斷,會覆蓋ICR1和ICR2的設置,GPIO.EDGE_SEL=1表示GPIO爲上升沿和下降沿(雙邊沿)觸發

 

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