日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

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

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

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

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

搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)
響應(yīng)優(yōu)先級(jí)也叫做 亞優(yōu)先級(jí) 或者 子優(yōu)先級(jí), 每一個(gè)中斷都有這兩種優(yōu)先級(jí)屬性. 當(dāng)一個(gè)低優(yōu)先級(jí)的中斷正在執(zhí)行時(shí), 如果有更高優(yōu)先級(jí)的中斷請(qǐng)求, 系統(tǒng)將會(huì)響應(yīng)這個(gè)中斷, 即發(fā)生中斷嵌套.
如果兩個(gè)中斷的優(yōu)先級(jí)相同, 則后來的中斷要等到先來的中斷執(zhí)行完畢后才會(huì)被響應(yīng). 但是如果兩個(gè)中斷同時(shí)到達(dá)(或者都在掛起狀態(tài)), NVIC會(huì)根據(jù)它們響應(yīng)優(yōu)先級(jí)的高低來決定響應(yīng)那一個(gè).
如果它的的響應(yīng)優(yōu)先級(jí)也相同, 那么NVIC會(huì)根據(jù)它們?cè)谥袛嘞蛄勘碇械呐判蛳群髞頉Q定先響應(yīng)那一個(gè).

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

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


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

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

關(guān)鍵字: nvic STM32

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

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

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

關(guān)鍵字: nvic STM32

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

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

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

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

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

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

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

關(guān)鍵字: nvic STM32

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

關(guān)鍵字: nvic STM32

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

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

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

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