當(dāng)MCU接收到一個中斷信號時,它會暫停當(dāng)前正在執(zhí)行的任務(wù),保存現(xiàn)場,然后跳轉(zhuǎn)到預(yù)設(shè)的中斷處理程序(Interrupt Service Routine, ISR)去處理這個中斷。處理完畢后,MCU會恢復(fù)現(xiàn)場,并繼續(xù)執(zhí)行之前被中斷的任務(wù)。
MCU(微控制器)的中斷處理過程大致可以分為以下幾個步驟:
1.中斷請求:當(dāng)外部設(shè)備對單片機(jī)產(chǎn)生中斷請求時,單片機(jī)會在當(dāng)前程序運(yùn)行到一個合適的地方時響應(yīng)這個中斷請求。
2.中斷檢測:單片機(jī)通過檢查中斷請求寄存器,確定是否存在未處理的中斷請求。
3.中斷響應(yīng):一旦檢測到中斷請求,單片機(jī)會立即暫停當(dāng)前的任務(wù),保存當(dāng)前的程序計數(shù)器值等關(guān)鍵信息,這樣在中斷處理完成后,可以返回到原來的程序繼續(xù)執(zhí)行。
4.中斷處理:單片機(jī)根據(jù)中斷源,執(zhí)行相關(guān)的中斷服務(wù)程序。這個過程也叫做中斷服務(wù)例程。
5.中斷返回:中斷服務(wù)完成后,單片機(jī)恢復(fù)被保存的程序計數(shù)器值等信息,返回到原來的任務(wù),繼續(xù)執(zhí)行被打斷的程序。
在具體實施中,有兩個關(guān)鍵的機(jī)制,即中斷使能和中斷優(yōu)先級。
1.中斷使能:單片機(jī)可以通過中斷使能寄存器來開啟或關(guān)閉某個特定的中斷源。只有被使能的中斷才有可能被單片機(jī)響應(yīng)。
2.中斷優(yōu)先級:當(dāng)多個中斷請求同時發(fā)生時,單片機(jī)會根據(jù)設(shè)置的優(yōu)先級來選取處理哪個中斷。具有高優(yōu)先級的中斷會優(yōu)先得到處理。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關(guān)推薦
本章節(jié)首先將以MCU開發(fā)人員常接觸到的“中斷”、“事件”和“中斷事件”三個名詞的概念展開,然后去闡述彼此的主要區(qū)別,最后借助MCU的GPIO外部中斷
發(fā)表于 07-22 09:29
?376次閱讀
中斷操作三個步驟:
1、中斷初始化
2、trap處理
3、用戶中斷處理
發(fā)表于 05-20 16:38
?773次閱讀
用過GD32 MCU的小伙伴們都知道,程序是順序執(zhí)行的,但當(dāng)有中斷來的時候程序會跳轉(zhuǎn)到中斷函數(shù),執(zhí)行完中斷函數(shù)后程序又繼續(xù)回到原來的位置繼續(xù)執(zhí)行,那么你們知道
發(fā)表于 01-30 09:45
?750次閱讀
中斷是指在程序執(zhí)行過程中,由硬件或軟件的觸發(fā)而打斷正常的程序執(zhí)行流程,暫時轉(zhuǎn)去執(zhí)行特定的處理程序,并在完成后返回原來的程序流程。中斷可以分為硬件中
發(fā)表于 01-02 17:35
?2171次閱讀
如果單片機(jī)沒有中斷,那么,單片機(jī)將失去靈魂。
發(fā)表于 11-09 11:28
?4396次閱讀
當(dāng)MCU接收到一個中斷信號時,它會暫停當(dāng)前正在執(zhí)行的任務(wù),保存現(xiàn)場,然后跳轉(zhuǎn)到預(yù)設(shè)的中斷處理程序(Interrupt Service Routine, ISR)去
發(fā)表于 11-08 12:57
?1024次閱讀
今天來看一下中斷及ARM體系中對中斷的處理,直接進(jìn)入正題。 中斷是指計算機(jī)運(yùn)行過程中,出現(xiàn)某些意外情況需主機(jī)干預(yù)時,機(jī)器能自動停止正在運(yùn)行的
發(fā)表于 11-07 17:11
?534次閱讀
讀寫flash時,該如何處理中斷響應(yīng)?
發(fā)表于 11-06 07:38
我們知道在 MCU 裸機(jī)中程序代碼之所以能完成多任務(wù)并行實時處理功能,其實主要是靠中斷來調(diào)度的,沒有中斷,CPU 就只能按順序"呆板"地執(zhí)行代碼。很多人都說是
發(fā)表于 10-31 11:04
?711次閱讀
計算機(jī)的性能和穩(wěn)定性,但是中斷處理過程需要經(jīng)過多個階段,包括中斷源檢測、中斷響應(yīng)、中斷處理、
發(fā)表于 10-24 11:49
?3700次閱讀
什么是中斷響應(yīng)次序?什么是中斷處理次序? 中斷響應(yīng)次序和中斷處理次序是計算機(jī)系統(tǒng)中非常重要的概念
發(fā)表于 10-24 11:49
?2014次閱讀
arm處理器有哪些中斷源?arm處理器對異常中斷的響應(yīng)過程? ARM處理器是一種廣泛使用的嵌入式
發(fā)表于 10-19 16:35
?1246次閱讀
中斷是指CPU在執(zhí)行當(dāng)前程序時系統(tǒng)出現(xiàn)了某種狀況,使得CPU必須停止當(dāng)前程序,而去執(zhí)行另一段程序來處理的出現(xiàn)的緊急事務(wù),處理結(jié)束后CPU再返回到原先暫停的程序繼續(xù)執(zhí)行,這個過程就稱為
發(fā)表于 10-10 14:29
?1180次閱讀
中斷是指CPU在執(zhí)行當(dāng)前程序時系統(tǒng)出現(xiàn)了某種狀況,使得CPU必須停止當(dāng)前程序,而去執(zhí)行另一段程序來處理的出現(xiàn)的緊急事務(wù),處理結(jié)束后CPU再返回到原先暫停的程序繼續(xù)執(zhí)行,這個過程就稱為
發(fā)表于 10-09 14:32
?1852次閱讀
瑞薩RA MCU串口通信空閑中斷
發(fā)表于 09-26 16:59
?800次閱讀
評論