什么是GPIO
GPIO:general purpose input output 通用輸入輸出,GPIO就是芯片的引腳,但是比較特殊,可以通過代碼來操作,控制引腳的高低電平以及作業模式,與GPIO相對的就是固定功能的引腳,我們不能通過編程來控制其功能,比如芯片的電源引腳、時鐘引腳等,這些引腳的功能在出廠的時候就固定了,
S5PV210的GPIO相關暫存器
GPJ0CON, (GPJ0 control)GPJ0控制暫存器,用來配置各引腳的作業模式
GPJ0DAT, (GPJ0 data)當引腳配置為input/output模式時,暫存器的相應位和引腳的電平高低相對應,
GPJ0PUD, (pull up down)控制引腳內部弱上拉、下拉
GPJ0DRV, (driver)配置GPIO引腳的驅動能力
GPJ0CONPDN,(記得是低功耗模式下的控制暫存器)
GPJ0PUDPDN (記得是低功耗模式下的上下拉暫存器)
硬體的原理圖

控制LED的關鍵暫存器:
GPJ0CON控制暫存器

GPJ0DAT暫存器

如何同GPIO控制LED
1.由硬體原理圖可知,GPJ0_3、GPJ0_4、GPJ0_5每個埠控制一個LED,它們同屬于埠組GPJ0,由相同暫存器的不同位控制,從暫存器的資料手冊可以看出,每個暫存器都是32位,不同的位被劃分為不同的功能,其中GPJ0CON控制器的[12:23]bit控制GPJ0_3、GPJ0_4、GPJ0_5的作業模式,GPJ0DAT的[3:5]bit控制GPJ0_3、GPJ0_4、GPJ0_5的狀態,
2.要點亮LED就讓埠輸出低電平,要熄滅LED就讓LED輸出高電平,現在來配置暫存器,首先是GPJ0CON控制,要將GPJ0_3、GPJ0_4、GPJ0_5都設定為輸出模式,根據資料手冊可知,每個埠都設定為"0001",然后設定GPJ0DAT暫存器,只需要把相應的位設定為1或者0,埠就能輸出高低電平,比如將GPJ0DAT的[3:5]設定為0,GPJ0_3、GPJ0_4、GPJ0_5都輸出低電平,此時LED點亮,每個bit之間也可以單獨設定,互不影響,設定的最小單位是bit,
補充:當埠設定為輸入模式,GPJ0DAT的值就是讀取到的埠狀態的值;當埠設定為中斷模式時,外界的電平變化可以觸發中斷,至于觸發的條件是可以配置的,有高電平觸發、低電平觸發、上升沿觸發、下降沿觸發,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287678.html
標籤:其他
下一篇:手把手教你呼叫介面寫個天氣預報
