在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)之:GPIO驅(qū)動(dòng)程序?qū)嵗?/p>

            嵌入式Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)之:GPIO驅(qū)動(dòng)程序?qū)嵗?/h1>
            作者: 時(shí)間:2013-09-13 來(lái)源:網(wǎng)絡(luò) 收藏

            本文引用地址:http://www.biyoush.com/article/257110.htm

            11.3實(shí)例

            11.3.1GPIO工作原理

            FS2410開(kāi)發(fā)板的S3C2410處理器具有117個(gè)多功能通用I/O(GPIO)端口管腳,包括GPIO8個(gè)端口組,分別為GPA(23個(gè)輸出端口)、GPB(11個(gè)輸入/輸出端口)、GPC(16個(gè)輸入/輸出端口)、GPD(16個(gè)輸入/輸出端口)、GPE(16個(gè)輸入/輸出端口)、GPF(8個(gè)輸入/輸出端口)、GPH(11個(gè)輸入/輸出端口)。根據(jù)各種系統(tǒng)設(shè)計(jì)的需求,通過(guò)軟件方法可以將這些端口配置成具有相應(yīng)功能(例如:外部中斷或數(shù)據(jù)總線)的端口。

            為了控制這些端口,S3C2410處理器為每個(gè)端口組分別提供幾種相應(yīng)的控制寄存器。其中最常用的有端口配置寄存器(GPACON~GPHCON)和端口數(shù)據(jù)寄存器(GPADAT~GPHDAT)。因?yàn)榇蟛糠諭/O管腳可以提供多種功能,通過(guò)配置寄存器(PnCON)設(shè)定每個(gè)管腳用于何種目的。數(shù)據(jù)寄存器的每位將對(duì)應(yīng)于某個(gè)管腳上的輸入或輸出。所以通過(guò)對(duì)數(shù)據(jù)寄存器(PnDAT)的位讀寫(xiě),可以進(jìn)行對(duì)每個(gè)端口的輸入或輸出。

            在此主要以發(fā)光二極管(LED)和蜂鳴器為例,討論GPIO設(shè)備的驅(qū)動(dòng)程序。它們的硬件驅(qū)動(dòng)電路的原理圖如圖11.4所示。

            圖11.4LED(左)和蜂鳴器(右)的驅(qū)動(dòng)電路原理圖

            在圖11.4中,可知使用S3C2410處理器的通用I/O口GPF4、GPF5、GPF6和GPF7分別直接驅(qū)動(dòng)LEDD12、D11、D10以及D9,而使用GPB0端口驅(qū)動(dòng)蜂鳴器。4個(gè)LED分別在對(duì)應(yīng)端口(GPF4~GPF7)為低電平時(shí)發(fā)亮,而蜂鳴器在GPB0為高電平時(shí)發(fā)聲。這5個(gè)端口的數(shù)據(jù)流方向均為輸出。

            在表11.15中,詳細(xì)描述了GPF的主要控制寄存器。GPB的相關(guān)寄存器的描述與此類似,具體可以參考S3C2410處理器數(shù)據(jù)手冊(cè)。

            表11.15 GPF端口(GPF0-GPF7)的主要控制寄存器

            寄存器

            地址

            R/W

            功能

            初始值

            GPFCON

            0x56000050

            R/W

            配置GPF端口組

            0x0

            GPFDAT

            0x56000054

            R/W

            GPF端口的數(shù)據(jù)寄存器

            未定義

            GPFUP

            0x56000058

            R/W

            GPF端口的取消上拉寄存器

            0x0

            GPFCON

            描述

            GPF7

            [15:14]

            00=輸入01=輸出10=EINT711=保留

            GPF6

            [13:12]

            00=輸入01=輸出10=EINT611=保留

            GPF5

            [11:10]

            00=輸入01=輸出10=EINT511=保留

            GPF4

            [9:8]

            00=輸入01=輸出10=EINT411=保留

            GPF3

            [7:6]

            00=輸入01=輸出10=EINT311=保留

            GPF2

            [5:4]

            00=輸入01=輸出10=EINT211=保留

            GPF1

            [3:2]

            00=輸入01=輸出10=EINT111=保留

            GPF0

            [1:0]

            00=輸入01=輸出10=EINT011=保留

            GPFDAT

            描述

            GPF[7:0]

            [7:0]

            每位對(duì)應(yīng)于相應(yīng)的端口,若端口用于輸入,則可以通過(guò)相應(yīng)的位讀取數(shù)據(jù);若端口用于輸出,則可以通過(guò)相應(yīng)的位輸出數(shù)據(jù);若端口用于其他功能,則其值無(wú)法確定。

            GPFUP

            描述

            GPF[7:0]

            [7:0]

            0:向相應(yīng)端口管腳賦予上拉(pull-up)功能

            1:取消上拉功能

            為了驅(qū)動(dòng)LED和蜂鳴器,首先通過(guò)端口配置寄存器將5個(gè)相應(yīng)寄存器配置為輸出模式。然后通過(guò)對(duì)端口數(shù)據(jù)寄存器的寫(xiě)操作,實(shí)現(xiàn)對(duì)每個(gè)GPIO設(shè)備的控制(發(fā)亮或發(fā)聲)。在下一個(gè)小節(jié)中介紹的驅(qū)動(dòng)程序中,s3c2410_gpio_cfgpin()函數(shù)和s3c2410_gpio_pullup()函數(shù)將進(jìn)行對(duì)某個(gè)端口的配置,而s3c2410_gpio_setpin()函數(shù)實(shí)現(xiàn)向數(shù)據(jù)寄存器的某個(gè)端口的輸出。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

            linux相關(guān)文章:linux教程


            蜂鳴器相關(guān)文章:蜂鳴器原理

            上一頁(yè) 1 2 3 4 下一頁(yè)


            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉