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

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]NVIC: Nested vectored interrupt controller, 嵌套中斷向量控制器.中斷與異常:所有能打斷正常執(zhí)行流的事件都稱為異常. 異常與中斷的區(qū)別在于, 中斷請求是來自于Cortex內(nèi)核外部, 比如各種片上外設(shè), 外部中斷請求等,

NVIC: Nested vectored interrupt controller, 嵌套中斷向量控制器.

中斷與異常:
所有能打斷正常執(zhí)行流的事件都稱為異常. 異常與中斷的區(qū)別在于, 中斷請求是來自于Cortex內(nèi)核外部, 比如各種片上外設(shè), 外部中斷請求等, 它們對于內(nèi)核是”異步”的; 而異常則是由于Cortex內(nèi)核在執(zhí)行指令或者訪問存儲等操作時所產(chǎn)生的, 對于Cortex內(nèi)核來說是屬于”同步”的(可以參見Cortex M3權(quán)威指南), 異常和中斷一般可以不加區(qū)分的使用.

Cortex內(nèi)核可以支持多達240個外部中斷, 編號16 – 255. 編號1 – 15的為系統(tǒng)異常, 編號0未被使用.
Cortex支行中斷嵌套, 允許高優(yōu)先級的中斷搶占低優(yōu)先級的中斷. Cortex M3/M4可支行多達256級的可編程優(yōu)先級和128級的搶占, 但有3個系統(tǒng)異常優(yōu)先級固定, 并且優(yōu)先級為負(fù)數(shù), 高于其它任何異常, 這三個異常分依次為 復(fù)位, NMI, Hard Fault.
NMI是Non-Maskable Interrupt(不可屏蔽中斷)縮寫, 在STM32F4中, NMI被連接到時鐘安全系統(tǒng)CCS(Clock security system)異常上.
Hard Fault是總線fault, 存儲管理fault, 用法fault所產(chǎn)生的結(jié)果, 詳細(xì)信息可以參考Cortex M3權(quán)威指南).

優(yōu)先級寄存器
如上所述, Cortex M3/M4支行多達256級的可編程優(yōu)先級和128級搶占, 每個中斷使用一個8位的寄存來配置優(yōu)先級. 但實際一款芯片會根據(jù)情況做適當(dāng)?shù)木? 裁剪掉表達優(yōu)先級的幾個低端有效位, 以減少優(yōu)先級的級數(shù).但是不管使用多少位來表達優(yōu)先級, 都是以MSB對齊的, 這主要是為了避免程序在不同器件之間移植時不會出現(xiàn)優(yōu)先級順序的更改.

搶占優(yōu)先級和響應(yīng)優(yōu)先級
響應(yīng)優(yōu)先級也叫做 亞優(yōu)先級 或者 子優(yōu)先級, 每一個中斷都有這兩種優(yōu)先級屬性. 當(dāng)一個低優(yōu)先級的中斷正在執(zhí)行時, 如果有更高優(yōu)先級的中斷請求, 系統(tǒng)將會響應(yīng)這個中斷, 即發(fā)生中斷嵌套.
如果兩個中斷的優(yōu)先級相同, 則后來的中斷要等到先來的中斷執(zhí)行完畢后才會被響應(yīng). 但是如果兩個中斷同時到達(或者都在掛起狀態(tài)), NVIC會根據(jù)它們響應(yīng)優(yōu)先級的高低來決定響應(yīng)那一個.
如果它的的響應(yīng)優(yōu)先級也相同, 那么NVIC會根據(jù)它們在中斷向量表中的排序先后來決定先響應(yīng)那一個.

在STM32中使用了4bit來表達搶占優(yōu)先級和響應(yīng)優(yōu)先級, 有以下5種分組方式:

可見STM32一共提供了16級中斷優(yōu)先級.


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

閱讀nvic:系統(tǒng)中斷管理。我的理解——管理系統(tǒng)內(nèi)部的中斷,負(fù)責(zé)打開和關(guān)閉中斷。基礎(chǔ)應(yīng)用1,中斷的初始化函數(shù),包括設(shè)置中斷向量表位置,和開啟所需的中斷兩部分。所有程序中必須的。用法: void NVIC_Configur...

關(guān)鍵字: nvic STM32

cortex-m3支持256個中端,其中包含了16個內(nèi)核中斷,240個外部中斷。stm32只有84個中斷,包括16個內(nèi)核中斷和68個可屏蔽中斷。stm32f103上只有60個中斷,f107上才有68個中斷。中斷是st...

關(guān)鍵字: nvic STM32 中斷管理

朋友們,如果你需要在STM32上移植RTOS,那么首先必須深入理解它的中斷系統(tǒng)。什么是NVIC?即嵌套向量中斷控制器(Nested Vectored Interrupt Controller)。STM32的中有一個強大而...

關(guān)鍵字: nvic STM32

對于NVIC的任務(wù),可以概括為三個:1.配置中斷向量表--如果不配置,則不能進入中斷 SCB->VTOR2.配置系統(tǒng)中斷分組--決定了第一和第二優(yōu)先級各占用的位數(shù) SCB->AIRCR3.配置對應(yīng)中斷優(yōu)先級和...

關(guān)鍵字: nvic 中斷控制 函數(shù)實現(xiàn)

前言:1.要想學(xué)習(xí)STM32中斷,要先掌握STM32對優(yōu)先級的定義;2.有51單片機開發(fā)經(jīng)驗會比較容易理解中斷優(yōu)先級;3.本篇博文基于STM32F103ZET6芯片和3.5.0標(biāo)準(zhǔn)庫編寫;4.本篇博文從寄存器入手,最終實...

關(guān)鍵字: nvic STM32 中斷

用STM32做項目已經(jīng)有段時間了,但是我忽然發(fā)現(xiàn)我對NVIC其實一點都不了解,所以今天補習(xí)了一下NVIC的知識以及我自己對NVIC中斷優(yōu)先級設(shè)置的了解,希望對大家有所幫助:對于NVIC中斷優(yōu)先級的設(shè)置一直都不是很清楚;具...

關(guān)鍵字: nvic STM32 中斷優(yōu)先級

例程: /* Configure one bit for preemption priority */ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); /* Enable...

關(guān)鍵字: nvic STM32

看了一天的stm32的中斷配置,對NVIC有了基本的了解(要了解NVIC,可以看《cortex M3權(quán)威指南》)。總結(jié)為3步:1.設(shè)置中斷分組寄存器 AIRCR 共0~4五組。地址:0xe000E_d00C2.設(shè)置對應(yīng)中...

關(guān)鍵字: nvic STM32

什么是NVIC?即嵌套向量中斷控制器(Nested Vectored Interrupt Controller)。它是屬于Cortex內(nèi)核的器件,是非常強大與方便的嵌套向量中斷控制器,不可屏蔽中斷 (NMI)和外部中斷都...

關(guān)鍵字: nvic STM32 中斷 中斷管理控制器

一、NVIC是中斷向量表的統(tǒng)稱。因為stm32的中斷源非常多,在使用時有些中斷必須要具有較高的優(yōu)先級,那么nvic就誕生了,它就是用來配置中斷順序的。二、打開misc.c文件,可以看到以下列表。 @arg NVIC_Pr...

關(guān)鍵字: nvic STM32 配置
關(guān)閉