www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀]一、概念中斷分為兩大類:外部中斷和內(nèi)部中斷。1、外部中斷:S3C2440的24個外部中斷占用GPF0~GPF7(EINT0~EINT7)、GPG0~GPG15(EINT8~EINT23)。使用這些引腳作為中斷輸入時,必須將引腳配置為EINT模式,配置方法可

一、概念

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

1、外部中斷:S3C2440的24個外部中斷占用GPF0~GPF7(EINT0~EINT7)、GPG0~GPG15(EINT8~EINT23)。使用這些引腳作為中斷輸入時,必須將引腳配置為EINT模式,配置方法可參考datasheet。


2、內(nèi)部中斷:內(nèi)部中斷包括DMA中斷、UART中斷、IIC中斷等等由內(nèi)部外設(shè)觸發(fā)的中斷。


3、相關(guān)寄存器:S3C2440中斷控制涉及到10個寄存器--SRCPND、INTMOD、INTMSK、PRIORITY、INTPND、INTOFFSET、SUBSRCPND、INTSUBMSK、EINTMASK、EINTPEND,這10個寄存器的定義及其功能描述如下表一。對中斷的控制無外乎配置和處理這10個寄存器中的某幾個。

表一 與S3C2440中斷相關(guān)的10個寄存器的信息



4、各寄存器的關(guān)系(工作流程)。根據(jù)中斷源進行分類,中斷的處理流程可用下圖1表示:


圖1 S3C2440中斷處理流程圖

由上圖1可知,S3C2440的中斷可分為四種情況:由外部中斷源(EINT0~EINT3)觸發(fā)的中斷、由外部中斷子中斷源(EINT4~EINT23)觸發(fā)的中斷、由內(nèi)部中斷源(內(nèi)部子中斷)觸發(fā)的中斷和由內(nèi)部中斷源(非子中斷)觸發(fā)的中斷。


5、中斷的開啟(中斷初始化,INTMOD 和 PRTORITY使用默認值)

(a)如果是外部中斷(EINT0~EINT3)和內(nèi)部中斷(不帶子中斷),需設(shè)置INTMSK,讓它不屏蔽中斷即可;

(b)如果是帶子中斷的內(nèi)部中斷,需設(shè)置INTSUBMSK 和 INTMSK,讓它們不屏蔽中斷即可;

(c)如果是外部中斷(EINT4~EINT23),需設(shè)置EINTMASK 和 INTMSK,讓它們不屏蔽中斷即可;

注意:CPSR中的第7位I也需清除(在start.S中關(guān)閉了中斷,這一步是針對在bootloader設(shè)計中進行EINT實驗時的操作)


6、中斷處理流程

(a)如果是外部中斷(EINT0~EINT3)和 不帶子中斷的內(nèi)部中斷,發(fā)生中斷后SRCPND相應(yīng)位置1,如果沒有被 INTMSK屏蔽,那么等待進一步處理;

(b)如果是帶子中斷的內(nèi)部中斷,發(fā)生中斷后SUBSRCPND相應(yīng)位置1,如果沒有被INTSUBMSK屏蔽,則SRCPND相應(yīng)位置1,如果沒有被INTMSK屏蔽,那么等待進一步處理;

(c)如果是外部中斷(EINT4~EINT23),發(fā)生中斷后EINTPEND相應(yīng)位置1,如果沒有被EINTMASK屏蔽,則SRCPND相應(yīng)位EINT4-7和EINT8~23置1,如果沒有被INTMSK屏蔽,那么等待進一步處理;

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

INTOFFSET寄存器用來表示INTPND中哪一位置1了,可以用來判斷請求中斷的中斷源,但是,對于外部中斷EINT4~EINT23是無法判斷的,如EINT4~EINT7中任何一個中斷源請求中斷,都會將INTOFFSET中的位EINT4_7置1,所以要判斷具體是哪個中斷源請求的中斷,可讀取EINTPEND中的值進行判斷。


7、中斷的清除

(a)如果是外部中斷EINT0~EINT3和不帶子中斷的內(nèi)部中斷,只需清除SRCPND(注意:清除時對相應(yīng)位寫“1”);

(b)如果是帶子中斷的內(nèi)部中斷,需清除SRCPND和SUBSRCPND,注意先清除SUBSRCPND,再清除SRCPND。因為如果先清除SRCPND的話,在清除SUBSRCPND的過程中,SRCPND會以為又有中斷發(fā)生,又會置1,也就是說一次中斷會響應(yīng)兩次,所以必須先掐斷源頭,對它們同樣是寫“1”清除

(c)如果是外部中斷EINT4~EINT23,需清除EINTPEND和SRCPND(同樣注意順序),寫“1”清除。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

MCS-51單片機有兩個外部中斷源INT0和INT1,它們分別在P3.2和P3.3引腳出現(xiàn)低電平或下降沿信號時向單片機發(fā)出中斷請求。外部中斷可用于檢測單片機外部發(fā)生的事件,如鍵盤敲擊和特定脈沖發(fā)生的次數(shù)等。

關(guān)鍵字: 51單片機 外部中斷

外部中斷是單片機實時地處理外部事件的一種機制。具體指的是,當某種外部事件發(fā)生時,單片機的中斷系統(tǒng)迫使CPU暫停正在執(zhí)行的程序,轉(zhuǎn)而去進行中斷事件的處理;中斷處理完畢后,又返回被中斷的程序處,繼續(xù)執(zhí)行下去。這里我們以Nuc...

關(guān)鍵字: MCU 外部中斷 ST

STM32CubeMX是官方推薦的配置軟件,而HAL庫也是取代之前的庫函數(shù)的通用庫,所以STM32CubeMX+HAL庫是當前主流的工程創(chuàng)建方式,HAL庫的可移植性也高于被取代的庫函數(shù)。 之前在[程序員小哈]的公眾號中寫...

關(guān)鍵字: LED 外部中斷

1.ARM中一些常見英文縮寫解釋 MSB:最高有效位; LSB:最低有效位; AHB:先進的高性能總線; VPB:連接片內(nèi)外設(shè)功能的VLSI外設(shè)總線; EMC:外部存儲器控制器; MAM:存儲器加速模塊; VIC:向量中...

關(guān)鍵字: ARM THUMB I2C 外部中斷

/********************************文件所用資源1.外部中斷0、1 定時中斷0、1 串口中斷2.端口:P3.0,P3.1,P3.3,P3.4,P3.5********************...

關(guān)鍵字: c51程序 串口中斷 外部中斷 定時中斷

UART程序:一、head.S文件的編寫 作用是啟動代碼@******************************************************************************@ F...

關(guān)鍵字: arm筆記 uart程序

#include #include #include int main(void){MCUCR |= (1

關(guān)鍵字: AVR gcc編程 單片機 外部中斷

leds.bin:crt0.Sleds.carm-linux-gcc -g -c -o crt0.o crt0.Sarm-linux-gcc -g -c -o leds.o leds.carm-linux-ld -Tte...

關(guān)鍵字: arm筆記 gpio口 led程序

因為沒有中斷的清除標志位,這一點與其它單片機是不同的。EXTI_CR1 觸發(fā)邊沿的設(shè)置要在總中斷沒開時才能寫入!PD7 是 不可屏蔽的最高優(yōu)先級的硬件中斷(TLI)設(shè)置順序:最好先關(guān)中斷 設(shè)置邊沿 開啟引腳 最后開總中斷...

關(guān)鍵字: stm8s 外部中斷

以下總結(jié)參考原子STM32開發(fā)指南STM32F103 的中斷控制器支持 19 個外部中斷/事件請求。STM32F103 的19 個外部中斷為:線 0~15:對應(yīng)外部 IO 口的輸入中斷。線 16:連接到 PVD 輸出。線...

關(guān)鍵字: STM32 外部中斷
關(guān)閉