久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

S3C2440的中斷寄存器

 fjc_Embeded 2011-09-08

2440-中斷寄存器詳解[轉(zhuǎn)]

S3C2440的中斷寄存器:

1.中斷分兩大類(lèi):內(nèi)部中斷和外部中斷。

2.外部中斷。24個(gè)外部中斷占用GPF0-GPF7(EINT0-EINT7),,GPG0-GPG15(EINT8-EINT23)。用這些腳做中斷輸入,,則必須配置引腳為中斷,并且不要上拉,。具體參考datesheet數(shù)據(jù)手冊(cè),。

寄存器:EXTINT0-EXTINT2:三個(gè)寄存器設(shè)定EINT0-EINT23的觸發(fā)方式。

              EINTFLT0-EINTFLT3:控制濾波時(shí)鐘和濾波寬度,。

              EINTPEND:這個(gè)是中斷掛起寄存器,,清除時(shí)要寫(xiě)1,,后面還有幾個(gè)是寫(xiě)1清除。當(dāng)一個(gè)外部中斷(EINT4-EINT23)發(fā)生后,,那么相應(yīng)的位會(huì)被置1,。為什么沒(méi)有EINT0-EINT3,呵呵,,看看SRCPND就知道了,,里面沒(méi)有EINT4-EINT23的位子,所以有了EINTPEND,。

              EINTMASK:這個(gè)簡(jiǎn)單,,是屏蔽中斷用的,也就是說(shuō)位為1時(shí),,此次中斷無(wú)效,。

3.內(nèi)部中斷。內(nèi)部中斷有8個(gè)寄存器,,下面逐一來(lái)看,。

寄存器:SUBSRCPND:當(dāng)一個(gè)中斷發(fā)生后,,那么相應(yīng)的位會(huì)被置1,,表示一個(gè)中斷發(fā)生了。

              INTSUBMSK:與上一個(gè)是一伙的,,中斷屏蔽寄存器,,具體屏蔽什么,自己看手冊(cè)去吧,。

              INTMOD:中斷的方式,。一個(gè)中斷可以是普通中斷,也可以是快中斷,,在這里設(shè)置,,但只能有一個(gè)快中斷。

              PRIORITY :優(yōu)先級(jí)寄存器,,不說(shuō)了,。

              SRCPND :當(dāng)一個(gè)中斷發(fā)生后,那么相應(yīng)的位會(huì)被置1,,表示一個(gè)或一類(lèi)中斷發(fā)生了,。

              INTMSK :中斷屏蔽寄存器。

              INTPND :中斷發(fā)生后,,SRCPND中會(huì)有位置1,,可能好幾個(gè)(因?yàn)橥瑫r(shí)可能發(fā)生幾個(gè)中斷),這些中斷會(huì)由優(yōu)先級(jí)仲裁器選出一個(gè)最緊迫的,,然后吧把INTPND中相應(yīng)位置1,,所以同一時(shí)間只有一位是1,。也就是說(shuō)前面的寄存器置1 是表示發(fā)生了,只有INTPND置1,,CPU才會(huì)處理,。

              INTOFFSET :用來(lái)表示INTPND中哪一位置1了,好讓你查詢(xún),,普通中斷跳轉(zhuǎn)時(shí)查詢(xún)用,。清除INTPNDSRCPND時(shí)自動(dòng)清除,。

4.各寄存器關(guān)系

下面看圖說(shuō)明:

5.中斷過(guò)程,。

a 如果是不帶子中斷的內(nèi)部中斷:發(fā)生后SRCPND相應(yīng)位置1,如果沒(méi)有被INTMSK屏蔽,,那么等待進(jìn)一步處理,。

b 如果是帶子中斷的內(nèi)部中斷:發(fā)生后SUBSRCPND相應(yīng)位置1,如果沒(méi)有被INTSUBMSK屏蔽,,那么SRCPND相應(yīng)位置1,,等待進(jìn)一步處理,幾個(gè)SUBSRCPND可能對(duì)應(yīng)同一個(gè)SRCPND,,對(duì)應(yīng)表如下:

SRCPND                        SUBSRCPND
INT_UART0                    INT_RXD0,INT_TXD0,INT_ERR0
INT_UART1                    INT_RXD1,INT_TXD1,INT_ERR1
INT_UART2                    INT_RXD2,INT_TXD2,INT_ERR2
INT_ADC                        INT_ADC_S, INT_TC
INT_CAM                        INT_CAM_C, INT_CAM_P
INT_WDT_AC97             INT_WDT, INT_AC97

c 如果是外部中斷:EINT0-EINT3發(fā)生后SRCPND相應(yīng)位置1,,如果沒(méi)有被INTMSK屏蔽,那么等待進(jìn)一步處理,。EINT4-EINT23發(fā)生后EINTPEND相應(yīng)位置1,,如果沒(méi)有被EINTMASK屏蔽,那么SRCPND相應(yīng)位EINT4-7 或EINT8-23置1,,如果沒(méi)有被INTMSK屏蔽,,等待進(jìn)一步處理,幾個(gè)EINTPEND對(duì)應(yīng)同一個(gè)SRCPND,,對(duì)應(yīng)表如下:

SRCPND                        EINTPEND

EINT0                             EINT0

EINT1                             EINT1

EINT2                             EINT2

EINT3                             EINT3

EINT4-7                          EINT4-EINT4

EINT8-23                        EINT8-EINT23

三種中斷都等待進(jìn)一步處理了,。接下來(lái)從SRCPND往下看,看INTMSK,。如果中斷被屏蔽了,,就不用說(shuō)了(注意:快中斷也能被屏蔽)。如果沒(méi)有被屏蔽,,那么會(huì)進(jìn)一步到INTMOD,。如果是快中斷,那么直接出來(lái),,進(jìn)入FIQ(即CPU進(jìn)入快中斷模式處理),。如果是普通中斷,那么SRCPND可以有多為置1(FIQ只能有一個(gè)),,這時(shí)就會(huì)經(jīng)過(guò)PRIORITY選出一個(gè)優(yōu)先級(jí)高的,,然后把根據(jù)選出的中斷把INTPND相應(yīng)位置1(注意:只能選出一個(gè)),,進(jìn)入IRQ,讓CPU處理,。

6.中斷的開(kāi)啟,。

a.如果是不帶子中斷的內(nèi)部中斷,只需設(shè)置INTMSK,,讓它不屏蔽中斷就可以了,。

b 如果是帶子中斷的內(nèi)部中斷,需設(shè)置INTSUBMSKINTMSK,,讓它門(mén)不屏蔽中斷就可以了,。

c 如果是外部中斷,對(duì)于EINT8-23需要設(shè)置EINTMASKINTMSK,。對(duì)于EINT0-EINT3只需設(shè)置INTMSK,。

7.中斷的清除

a.如果是不帶子中斷的內(nèi)部中斷,,只需清除SRCPND,,注意清除需位置1。

b 如果是帶子中斷的內(nèi)部中斷,,需清除SRCPNDSUBSRCPND,,注意先清除SUBSRCPND,再清除SRCPND,。因?yàn)?,如果你先清?strong>SRCPND的話,,然后在清除SUBSRCPND的過(guò)程中,,SRCPND會(huì)以為又有中斷發(fā)生,又會(huì)置1,。也就是說(shuō)一次中斷會(huì)響應(yīng)兩次,。所以必須先掐斷源頭。

c 如果是外部中斷,,對(duì)于EINT8-23需要清除EINTPENDSRCPND(同樣注意順序),。對(duì)于EINT0-EINT3只需清除SRCPND

本文詳細(xì)分析了S3C2440的中斷寄存器,,對(duì)arm初學(xué)者有一定的幫助,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多