0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32中斷系統(tǒng)詳解

CHANBAEK ? 來源:頭條號秋天滴風 ? 作者:頭條號秋天滴風 ? 2023-04-20 11:43 ? 次閱讀

1.中斷的基本概念

1.1處理器中的中斷:在處理器中,CPU正在執(zhí)行某一段代碼時遇到內(nèi)部或者外部的緊急事件需要處理,暫停當前執(zhí)行的代碼、轉(zhuǎn)而去處理緊急事件,處理完畢后繼續(xù)執(zhí)行之前的代碼。

1.2中斷的意義:中斷可以提高CPU運行的效率、避免對某一事件狀態(tài)的不斷輪詢損耗CPU資源,同時可以對緊急事件做實時處理;中斷在計算機多任務處理中尤為重要(如:uCOSFreeRTOS),可以實現(xiàn)多線程、多任務的處理;

1.3中斷處理的過程:進入中斷之前處理器將自動保存現(xiàn)場到堆棧中(現(xiàn)場:程勛運行的當前位置、變量的值等),根據(jù)中斷向量表中的地址運行對應的中斷服務程序,在退出中斷前處理器會將之前保存在堆棧中的現(xiàn)場進行恢復(稱之為出棧)、完成現(xiàn)場恢復后程序?qū)⒗^續(xù)從原來的位置運行

備注:在處理中斷服務程序的過程、以及出棧的過程都是可以被其他中斷打斷的,這種稱為中斷的嵌套

pYYBAGRAtMWAFflsAADigzpB_kk630.jpg

中斷處理過程

1.4STM32F4中斷體系結(jié)構(gòu)

poYBAGRAtMaAbf2WAACKXbp1YSM528.jpg

中斷體系結(jié)構(gòu)

2.NVIC(嵌套向量控制器)

2.1中斷管理

Cortex-M4內(nèi)核支持256個中斷(16個內(nèi)核中斷、250個外部中斷)、具有256級的可編程中斷優(yōu)先級設(shè)置,STM32F407中使用了其中部分中斷,10個內(nèi)核中斷、82個外部中斷。

Cortex-M4處理器中,每一個外部中斷都可以被使能、禁止、掛起、清除

pYYBAGRAtMmATj8GAAenQ1jZyoY551.jpg

NVIC寄存器列表

2.2支持異常及中斷向量化處理

當異常或中斷發(fā)生時,處理器會把PC設(shè)置為一個特定的地址,該地址就是異常向量,每一類異常源都對應一個特定的入口地址,這些地址按照優(yōu)先級排列后就組成了一張異常向量表。(中斷是內(nèi)核外部發(fā)送的如:串口等,異常是內(nèi)核內(nèi)部發(fā)生的)

向量化處理中斷的好處:從發(fā)生異常到異常處理的中間的時間被縮減;采用向量表處理異常,處理器會從存儲器的向量表中自動定位到異常對應的程序入口。

poYBAGRAtMqAex14AACqEQXA2Hs848.jpg

中斷向量表

pYYBAGRAtMyAe9mSAASMGGWrBcE384.jpg

中斷優(yōu)先級

3.中斷優(yōu)先級

3.1STM32F4中斷的優(yōu)先級:3個固定優(yōu)先級、都是負值不能改變;16個可編程優(yōu)先級、4個bit位表示(中斷優(yōu)先級寄存器NVIC_IPRX,F407使用高4位配置);優(yōu)先級越小優(yōu)先級越高;

3.2STM32F4中斷優(yōu)先級分組:NVIC_IPR中的4位又分為搶占優(yōu)先級、響應優(yōu)先級

而這兩個優(yōu)先級各占幾位是根據(jù)SCB->AIRCR中的中斷分組來設(shè)置決定的,STM32F4將中斷分為5組0-4

3.3中斷優(yōu)先級總結(jié):

搶占優(yōu)先級級別高于響應優(yōu)先級,數(shù)值越小優(yōu)先級越高;

同一時刻發(fā)生的中斷,優(yōu)先處理優(yōu)先級高的中斷;

搶占優(yōu)先級高的任務可以打斷搶占優(yōu)先級低的任務,若搶占優(yōu)先級相同、響應優(yōu)先級高的不可以打斷響應優(yōu)先級低的任務;

若搶占優(yōu)先級、響應優(yōu)先級相同則看哪個中斷先發(fā)生、則先執(zhí)行,如果同時發(fā)生則處理編號較小的任務

poYBAGRAtM2APdWFAADo5Si_GwI702.jpg

中斷優(yōu)先級分組

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19329

    瀏覽量

    230134
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10873

    瀏覽量

    212084
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10906

    瀏覽量

    356455
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    899

    瀏覽量

    41538
  • 中斷系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    96

    瀏覽量

    61026
收藏 人收藏

    評論

    相關(guān)推薦

    STM32中斷系統(tǒng)詳解 - 第1節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:20:34

    STM32中斷系統(tǒng)詳解 - 第2節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:21:24

    STM32中斷系統(tǒng)詳解 - 第3節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:22:14

    STM32中斷系統(tǒng)詳解 - 第4節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:23:05

    STM32中斷系統(tǒng)詳解 - 第5節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:23:55

    STM32中斷系統(tǒng)詳解 - 第6節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:24:45

    STM32中斷系統(tǒng)詳解 - 第7節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:25:35

    STM32中斷系統(tǒng)詳解 - 第8節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:26:25

    STM32中斷系統(tǒng)詳解 - 第9節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:27:16

    STM32中斷系統(tǒng)詳解 - 第10節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:28:06

    STM32中斷優(yōu)先級和開關(guān)總中斷教程

    STM32中斷優(yōu)先級和開關(guān)總中斷 教程
    發(fā)表于 11-23 18:03 ?0次下載

    中斷是什么?STM32中斷系統(tǒng)介紹和中斷配置步驟資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是中斷是什么?STM32中斷系統(tǒng)介紹和中斷配置步驟資料免費下載。
    發(fā)表于 10-11 08:00 ?5次下載
    <b class='flag-5'>中斷</b>是什么?<b class='flag-5'>STM32</b><b class='flag-5'>中斷</b><b class='flag-5'>系統(tǒng)</b>介紹和<b class='flag-5'>中斷</b>配置步驟資料免費下載

    STM32中斷及FreeRTOS中斷優(yōu)先級配置

    STM32中斷,及FreeRTOS中斷優(yōu)先級配置
    的頭像 發(fā)表于 03-04 11:45 ?8935次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>及FreeRTOS<b class='flag-5'>中斷</b>優(yōu)先級配置

    STM32關(guān)全局中斷的方法 STM32中斷類型

    。 STM32中斷類型: 系統(tǒng)異常:內(nèi)核水平 10個 外部中斷:外設(shè)水平 60個 STM32關(guān)全局中斷
    的頭像 發(fā)表于 07-22 10:52 ?2.8w次閱讀

    stm32中斷怎么處理的

    STM32是一款非常強大的微控制器系列,具有豐富的外設(shè)和功能。中斷STM32非常重要的部分,能夠幫助我們提高系統(tǒng)的響應速度和效率。本文將
    的頭像 發(fā)表于 01-02 17:35 ?2630次閱讀