2440外部中斷

2021-06-16 23:33:47 字數 1843 閱讀 6048

一、外部中斷主要暫存器

extintn

register         

address         r/w       description        reset value

extint0          0x56000088  

r/w        external interrupt   control register 0 0x000000

extint1          0x5600008c  

r/w       external interrupt   control register 1 0x000000

extint2          0x56000090  

r/w       external interrupt   control register 2 0x000000

exintn暫存器用於配置外部中斷請求訊號方式是電平觸發還是邊沿觸發。exint0的[0:2]用於設定eint0觸發方式:

000 = 低電平

001 = 高電平

01x = 上公升沿

10x = 下降沿

11x = 上公升下降沿均觸發

l         srcpnd(0x4a000000)

srcpnd暫存器中32位每一位都用於表示對應中斷源是否發生中斷。可以通過向srcpnd暫存器對應寫入」1」清除相應中斷標誌。

l         intpnd(0x4a000010)

經過中斷優先順序仲裁後選出優先順序最高的中斷,顯示在intpnd暫存器相應位。然後cpu進入中斷處理。該暫存器與srcpnd相似,向應寫入」1」清除相應中斷標誌。

l         intmsk(0x4a000008)

當intmsk暫存器相應位被置」1」,cpu不會進入中斷服務請求。即使是srcpnd相應位為」1」。

l         intmod(0x4a000004)

intmod暫存器用於配置中斷髮式,當某位設定為」1」,改為中斷被設定未fiq;否則,中斷設定為irq。

二、中斷過程

外部中斷:

eint0-eint3發生後srcpnd相應位置1,如果沒有被intmsk遮蔽,那麼等待進一步處理。eint4-eint23發生後eintpend相應位置1,如果沒有被eintmask遮蔽,那麼srcpnd相應位eint4-7 或eint8-23置1,如果沒有被intmsk遮蔽,等待進一步處理,幾個eintpend對應同乙個srcpnd,對應表如下:

srcpnd       eintpend

eint0           eint0

eint1           eint1

eint2           eint2

eint3           eint3

eint4-7      eint4-eint4

eint8-23     eint8-eint23

中斷都等待進一步處理了。接下來從srcpnd往下看,看intmsk。如果中斷被遮蔽了,就不用說了(注意:快中斷也能被遮蔽)。如果沒有被遮蔽,那麼會進一步到intmod。如果是快中斷,那麼直接出來,進入fiq(即cpu進入快中斷模式處理)。如果是普通中斷,那麼srcpnd可以有多為置1(fiq只能有乙個),這時就會經過priority選出乙個優先順序高的,然後把根據選出的中斷把intpnd相應位置1(注意:只能選出乙個),進入irq,讓cpu處理。

三、 中斷的開啟

如果是外部中斷,對於eint8-23需要設定eintmask和intmsk。對於eint0-eint3只需設定intmsk。

四、中斷的清除

如果是外部中斷,對於eint8-23需要清除eintpend和srcpnd(同樣注意順序)。對於eint0-eint3只需清除srcpnd。

mini2440外部irq中斷實驗

void delay int times 延時函式 void beep init void 蜂鳴器初始化 void beep void void key1 init 按鍵1初始化 static void irq key1 isr void eint8 rsrcpnd 1 5 rintpnd 1 5 ...

s3c2440外部中斷操作

要想正確地執行2440的外部中斷,一般需要完成兩個部分內容 中斷初始化和中斷處理函式。在具體執行中斷之前,要初始化好要用的中斷。2440的外部中斷引腳eint與通用io引腳f和g復用,要想使用中斷功能,就要把相應的引腳配置成中斷模式,如我們想把埠f0設定成外部中斷,而其他引腳功能不變,則gpfcon...

2440之中斷管理

中斷處理 中斷是嵌入式裡最重要的乙個概念。一般乙個系統對於乙個裝置要麼採用中斷方式,要麼採用輪詢方式 中斷方式可以有效地減少處理器負荷 但是如果大量採用中斷則有可能降低處理速度 因為中斷處理破壞了處理器的流水機制。複習下微機原理中中斷處理過程和中斷機制。2440中支援fiq 快速中斷 和irq 普通...