訂閱
糾錯
加入自媒體

基于Cortex-A9 LED匯編、C語言驅(qū)動編寫

二、GPIO

GPIO(General Purpose I/O Ports)意思為通用輸入/輸出端口,通俗地說,就是一些引腳,可以通過它們輸出高低電平或者通過它們讀入引腳的狀態(tài)-是高電平或是低電平。

用戶可以通過GPIO口和硬件進行數(shù)據(jù)交互(如UART),控制硬件工作(如LED、蜂鳴器等),讀取硬件的工作狀態(tài)信號(如中斷信號)等。GPIO口的使用非常廣泛。

1. GPIO的優(yōu)點低功耗:GPIO具有更低的功率損耗(大約1?A,?C的工作電流則為100?A)。集成I?C從機接口:GPIO內(nèi)置I?C從機接口,即使在待機模式下也能夠全速工作。小封裝:GPIO器件提供最小的封裝尺寸—3mm x 3mm QFN!低成本:您不用為沒有使用的功能買單!快速上市:不需要編寫額外的代碼、文檔,不需要任何維護工作!靈活的燈光控制:內(nèi)置多路高分辨率的PWM輸出?深A(yù)先確定響應(yīng)時間:縮短或確定外部事件與中斷之間的響應(yīng)時間。更好的燈光效果:匹配的電流輸出確保均勻的顯示亮度。布線簡單:僅需使用2條I?C總線或3條SPI總線。2. exynos4412 GPIO特性172 個外部中斷32個外部可喚醒中斷252個多功能 input/output ports在休眠模式下也可以控制GPIO引腳,但不包括 GPX0, GPX1, GPX2, and GPX33. 6 General Purpose Input/Output (GPIO) Control

Exynos 4412 SCP 包括304個多功能 input/output端口引腳和164 存儲端口引腳. 總共 37個端口分組和兩個存儲端口分組.。

下圖為GPIO模塊圖:

GPIO Block Diagram

三、如何操作GPIO?

主要通過寄存器來操作GPIO引腳。

GPxCON用于選擇引腳功能,GPxDAT用于讀/寫引腳數(shù)據(jù);另外,GPxUP用于確定是否使用內(nèi)部上拉電阻。其中x為A、B…..H、J等。

1. GPxCON寄存器

從寄存器的名字可以看出,它用于配置(Configure)-選擇引腳功能。

LED3是連接到GPX1_0,該引腳說明如下:

GPX1CON

由上圖所示,

GPX1CON地址為0x1100C20;LED3是輸出設(shè)備,所以需要將GPX1CON[3:0]設(shè)置為0x1,但是能修改其他的bite。2.  GPxDAT寄存器

GPxDAT用于讀/寫引腳;當(dāng)引腳被設(shè)為輸入時,讀此寄存器可知相應(yīng)引腳的電平狀態(tài)是高還是低;當(dāng)引腳被設(shè)為輸出時,寫此寄存器相應(yīng)位可以令此引腳輸出高電平或是低電平。

GPX1DATGPX1DAT的地址是0x1100C24LED3對應(yīng)的輸出引腳是GPX1DAT[0],點燈只需要將該引腳設(shè)置為1即可,滅燈將bite0置0。3.  GPxUP寄存器

GPxUP:某位為1時,相應(yīng)引腳無內(nèi)部上拉電阻;為0時,相應(yīng)引腳使用內(nèi)部上拉電阻。

上拉電阻的作用在于:當(dāng)GPIO引腳處于第三態(tài)(即不是輸出高電平,也不是輸出低電平,而是呈高阻態(tài),即相當(dāng)于沒接芯片)時,它的電平狀態(tài)由上拉電阻、下拉電阻確定。

本例不用設(shè)置。

<上一頁  1  2  3  4  下一頁>  
聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標(biāo)題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號