五、NVIC
中斷向量嵌套控制器是用來管理所有中斷和事件的,包括中斷的使能和除能,中斷的優(yōu)先級。這個是屬于內(nèi)核的東西,所以ST的參考手冊上對它的描述較少,但他又是十分重要的東西,要了解它就要看ARM的《Cortex?-M4 Devices Generic User Guide》。
相關(guān)寄存器
譯自《Cortex?-M4 Devices Generic UserGuide》,若有錯誤,請以原文為準(zhǔn)。
中斷使能寄存器NVIC_ISER[8]
中斷使能寄存器共有8個,ISER[0]設(shè)置0~31號中斷的使能,ISER[1]設(shè)置32~63號中斷的使能,如此類推。以下以ISER[0]為例:
[31:0] SETENA中斷設(shè)置使能位。
寫:
0 =無影響
1 =使能中斷。
讀:
0 =中斷是禁止的
1=中斷已經(jīng)被使能
如果要使能0號中斷,就向該寄存器的0位寫1,如果要使能38號中斷,就向NVIC_ISER[1]的6位寫1,如此類推,至于哪個中斷對應(yīng)哪個中斷號,請參見參考手冊《RM0090 Reference manual》中的第9章Table 30. Vector table的Position一列。
中斷除能寄存器NVIC_ICER[8]
中斷除能寄存器共有8個,ICER[0]設(shè)置0~31號中斷除能,ICER[1]設(shè)置32~63號中斷的使能,如此類推。以下以ICER[0]為例:
[31:0] SETENA中斷設(shè)置使能位。
寫:
0 =無影響
1 =除能中斷。
讀:
0 =中斷是禁止的
1=中斷已經(jīng)被使能
以下寄存器均為8個,僅以***R[0]為例
中斷掛起設(shè)置寄存器NVIC_ISPR[8]
[31:0]SETPEND中斷掛起設(shè)置位。
寫:
0 =無影響
1 =改變中斷狀態(tài)為掛起。
讀:
0 =中斷沒有掛起
1 =中斷正在等待處理。
解除中斷掛起寄存器NVIC_ICPR[8]
[31:0] CLRPEND中斷清除掛起位。
寫:
0 =無影響
1 =刪除中斷的掛起狀態(tài)。
讀:
0 =沒有掛起的中斷
1 =中斷正在等待處理。
中斷激活位寄存器NVIC_IABR[8]
[31:0]中斷活躍的標(biāo)志:
0 =中斷不活躍
1 =中斷活躍。
如果相應(yīng)的中斷的狀態(tài)是作為一個活躍的或活躍和正被掛起的,讀該位將會讀出1。
中斷優(yōu)先級寄存器NVIC_IPR[60]
中斷優(yōu)先級寄存器為60個32位寄存器,st的結(jié)構(gòu)體中用了240個8位的字節(jié)數(shù)組NVIC->IP[240]來映射,每一個對應(yīng)一個中斷的優(yōu)先級。
ARM的中斷優(yōu)先級分兩種,搶占優(yōu)先級和響應(yīng)優(yōu)先級。
具有高搶占式優(yōu)先級的中斷可以在具有低搶占式優(yōu)先級的中斷處理過程中被響應(yīng),即中斷嵌套,或者說高搶占式優(yōu)先級的中斷可以嵌套低搶占式優(yōu)先級的中斷。
當(dāng)兩個中斷源的搶占式優(yōu)先級相同時,這兩個中斷將沒有嵌套關(guān)系,當(dāng)一個中斷到來后,如果正在處理另一個中斷,這個后到來的中斷就要等到前一個中斷處理完之后才能被處理。如果這兩個中斷同時到達(dá),則中斷控制器根據(jù)他們的響應(yīng)優(yōu)先級高低來決定先處理哪一個;如果他們的搶占式優(yōu)先級和響應(yīng)優(yōu)先級都相等,則根據(jù)他們在中斷表中的排位順序決定先處理哪一個。
中斷優(yōu)先級分組就是把優(yōu)先級寄存器分割,分開哪幾位是響應(yīng)優(yōu)先級,哪幾位是搶占優(yōu)先級。至于怎樣設(shè)置分組,就要看一個不屬于NVIC的寄存器了。
應(yīng)用中斷和復(fù)位控制寄存器SCB_AIRCR
在這里我們需要看的是[31:16]位和[10:8]位,[31:16]位是識別碼,用以保護(hù)此寄存器不會被意外修改,[10:8]位就是中斷優(yōu)先級分組的設(shè)置位。
[31:16]
寫:VECTKEYSTAT
讀:VECTKEY
RW注冊鍵:
讀為0xFA05
寫入時,要寫0x05FA到 VECTKEY,否則寫入將被忽略。
[10:8]中斷優(yōu)先級
每一個ARM的M4中斷優(yōu)先級設(shè)計(jì)為可編程的8位,具體到stm32f4就只留給用戶4位共16級的可編程優(yōu)先級,其中低4位已被占用。也就是說stm32f4的優(yōu)先級分組情況如下表所示:
[10:8] | 分割點(diǎn) | 搶占優(yōu)先級位 | 響應(yīng)優(yōu)先級位 | 搶占優(yōu)先級數(shù) | 響應(yīng)優(yōu)先級數(shù) |
0b011 | xxxx | [7:4] | none | 16 | 1 |
0b100 | xxx.y | [7:5] | [4] | 8 | 2 |
0b101 | xx.yy | [7:6] | [5:4] | 4 | 4 |
0b110 | x.yyy | [7] | [6:4] | 2 | 8 |
0b111 | yyyy | none | [7:4] | 1 | 16 |
最后一個NVIC的寄存器
軟件觸發(fā)中斷寄存器NVIC_STIR
當(dāng)SCB_CCR的USERSETMPEND位為1時,無特權(quán)的用戶程序才能寫此寄存器。
[31:9]保留。
[8:0] INTID ID號中斷觸發(fā),
范圍0-239。例如,0x03的指定中斷IRQ3觸發(fā)。
上一篇:stm32f407之EXTI(操作寄存器)
下一篇:stm32f407之DAC(操作寄存器)
推薦閱讀
史海拾趣
在20世紀(jì)中期,GI作為一家新興的電子設(shè)備制造商,以其對新興技術(shù)的敏銳洞察力和創(chuàng)新精神而嶄露頭角。公司創(chuàng)始人意識到半導(dǎo)體技術(shù)的巨大潛力,決定投入大量資源進(jìn)行研發(fā)。通過不懈努力,GI成功推出了多款基于半導(dǎo)體技術(shù)的創(chuàng)新產(chǎn)品,如早期的晶體管收音機(jī)和電視機(jī),這些產(chǎn)品不僅在當(dāng)時市場上引起了轟動,也為公司后續(xù)的快速發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。這一階段的成功,標(biāo)志著GI在電子行業(yè)技術(shù)創(chuàng)新的道路上邁出了堅(jiān)實(shí)的一步。
DAYLIGHT公司成立于XX年,由一群富有遠(yuǎn)見卓識的電子工程師和投資者共同創(chuàng)立。當(dāng)時,電子行業(yè)正經(jīng)歷著快速的技術(shù)革新,市場對高效、可靠的電子產(chǎn)品需求日益增加。DAYLIGHT公司憑借其獨(dú)特的技術(shù)優(yōu)勢和創(chuàng)新能力,成功開發(fā)出一系列高性能的電子產(chǎn)品,迅速在市場中立足。
為了拓寬市場渠道,Easy Magnet Corp公司積極尋求與國際知名企業(yè)的合作。通過與國外企業(yè)的技術(shù)交流和合作研發(fā),公司不僅獲得了先進(jìn)的生產(chǎn)技術(shù)和管理經(jīng)驗(yàn),還成功地將產(chǎn)品推向了國際市場。這一過程中,公司不僅提升了品牌影響力,還增強(qiáng)了自身的研發(fā)實(shí)力和市場競爭力。
隨著電子行業(yè)的競爭日益激烈,AirBorn面臨著來自同行的壓力和挑戰(zhàn)。為了保持領(lǐng)先地位,AirBorn加強(qiáng)了與客戶的溝通與合作,深入了解市場需求和變化趨勢。同時,公司還加大了對新技術(shù)和新材料的研發(fā)投入,不斷推出具有創(chuàng)新性和競爭力的新產(chǎn)品。這些舉措使得AirBorn在激烈的市場競爭中保持了穩(wěn)健的發(fā)展態(tài)勢。
隨著技術(shù)的不斷成熟和產(chǎn)品的日益完善,Exclara開始將目光投向全球市場。公司積極拓展海外市場,通過參加國際展會、與當(dāng)?shù)睾献骰锇榻?zhàn)略合作關(guān)系等方式,不斷提升品牌知名度和市場份額。同時,公司也在全球范圍內(nèi)建立了完善的銷售網(wǎng)絡(luò)和售后服務(wù)體系,以確保客戶能夠享受到優(yōu)質(zhì)的產(chǎn)品和服務(wù)。
全國大學(xué)生電子設(shè)計(jì)競賽賽題分析和啟示 本帖最后由 paulhyde 于 2014-9-15 09:26 編輯 【摘 要】 本文針對在全國影響較大的電子設(shè)計(jì)競賽歷年的賽題進(jìn)行歸類,并對其分析總結(jié),得出了一些心得和體會。根據(jù)參賽過程中學(xué)生所表現(xiàn)出的問題,得到了一些對學(xué)生綜合素質(zhì)培養(yǎng)的啟示。它對指導(dǎo)學(xué)生 ...… 查看全部問答∨ |
LED點(diǎn)陣屏漢字移動顯示51單片機(jī)+ULN2803+74HC595+仿LED點(diǎn)陣字模的VB6工程源代碼 LED點(diǎn)陣屏漢字移動顯示51單片機(jī)+ULN2803+74HC595+仿LED點(diǎn)陣字模的VB6工程源代碼… 查看全部問答∨ |
關(guān)于STM32定時器,無法關(guān)閉自動重載的問題 今天調(diào)試STM32定時器的時候,初始化完定時器再打開,就發(fā)現(xiàn)它不停的延時-中斷,可我只是想讓它中斷一次啊,以后我用它的時候再開啟,請大家?guī)兔Ψ治鲆幌挛业拇a,謝謝! int main(void) { RCC_Config();//RCC NVIC_I ...… 查看全部問答∨ |
定制自己的模擬器的過程中,遇到了一點(diǎn)問題。查看了你的“定制帶有模擬器且支持ActiveSync調(diào)試的WINCE5.0 SDK”一文,有小小疑問。 在定制過程中,是要建2個工程,一個是關(guān)于Deviceemulator模擬器的,一個是關(guān)于自己的BSP,如2410,2450之類的,然 ...… 查看全部問答∨ |
我的wince的設(shè)備,安裝了軟件后,如果Windows目錄下,重啟后就丟失了 還有設(shè)置的系統(tǒng)配置也是,重啟后就無效了,需要重新配置 似乎所有的文件變化和配置都恢復(fù)到原來的了 不是只有硬啟動才恢復(fù)出廠設(shè)置嗎 為什么會這樣呢 我的機(jī)子是有一個開機(jī) ...… 查看全部問答∨ |
重開一帖,相關(guān)的帖子是: http://topic.eeworld.net/u/20090307/08/000b153c-b1d5-4ab3-bad9-239ed1c00805.html 請問SQL CE 2.0下的例子:Samples\\eVC\\eVCReplRdaHPC,怎么可以在ARMV4I下編譯成功? 這個工程本身只支持SHx系列的CPU,也可 ...… 查看全部問答∨ |
我在vs2005,wince6.0中建了一個子工程,該工程需要用到連接庫,但是連接出錯,找不到文件。代碼如下。 #pragma comment(lib, "xxx.lib") XXX_A(); // 該函數(shù)為庫xxx.lib中的函數(shù)。連接報(bào)錯,找不到函數(shù)xxx_A()引用。 error LNK2019: unresolved external symbol XXX_A referenced in function WinMain… 查看全部問答∨ |
|
月薪20K+的電源工程師應(yīng)具備什么?(轉(zhuǎn)載) 薪水和收入,是和大家的生活、工作密切相關(guān)的永恒的話題。對于我們絕大部分打工者,我們基本沒有其他的經(jīng)濟(jì)來源,我們純粹就是工薪階層。那么,如何提高我們的薪水?這個話題大家一定會喜歡吧? 為什么這里把月薪定義在20K,因?yàn)槲矣X得,20K是比 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 工業(yè)以太網(wǎng)向EtherCAT及更高標(biāo)準(zhǔn)發(fā)展之路
- 基于模糊PID的兩輪自平衡代步小車的設(shè)計(jì)
- 一種基于鋁基板的加熱臺設(shè)計(jì)與實(shí)現(xiàn)
- Microchip發(fā)布PIC16F17576 單片機(jī)(MCU)系列,簡化模擬傳感器設(shè)計(jì)
- 基于STM32G4與MCSDK完成低壓直流無刷大功率電驅(qū)方案
- ST CEO表示有決心讓STM32重返20%以上市占率
- 英飛凌微控制器:以全新實(shí)惠套件和強(qiáng)大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 直擊電動汽車800V高壓痛點(diǎn)!PI 五款電源參考設(shè)計(jì)加速工程落地
- 邁向智慧出行,重塑車載顯示新體驗(yàn)
- 蛻變!國產(chǎn)汽車芯片開打高端局,這些產(chǎn)品已瞄準(zhǔn)國際一流?
- 成立新公司,中鼎加速布局人形機(jī)器人領(lǐng)域
- 開放原子“園區(qū)行”(深圳站)成功舉辦,開源技術(shù)對接平臺助推智慧交通生態(tài)繁榮
- SK On研發(fā)新型固態(tài)電池 壽命提升三倍
- FF旗下公司提交三項(xiàng)AI混增系統(tǒng)專利
- 深藍(lán)汽車:基于與輔助駕駛深度融合的AR-HUD體驗(yàn)設(shè)計(jì)
- 2025汽車新供應(yīng)鏈戰(zhàn)略布局:17大領(lǐng)域,1000+頭部企業(yè)產(chǎn)業(yè)分布一覽
- 汽車AI操作系統(tǒng)研究:從AI應(yīng)用、AI驅(qū)動到AI原生
- 參與“開關(guān)電源組件選擇”課程培訓(xùn),三重好禮精彩送不停!
- 有獎電源小課堂 | PI 1250V高壓氮化鎵芯片
- ADI直播:MEMS技術(shù)與產(chǎn)品解析
- ADI有獎下載活動之7 可編程邏輯控制器(PLCs)解決方案
- Digi-key干貨視頻教程來襲,意見領(lǐng)袖講解疑難設(shè)計(jì)問題,帶你突破成長瓶頸~
- 2020年ST MEMS傳感器創(chuàng)意設(shè)計(jì)大賽
- 話說我接觸的ADI實(shí)驗(yàn)室電路“評估板”
- Digi-Key KOL視頻來襲~歡迎進(jìn)入MicroPython的奇妙世界
- 有獎直播【Keysight World Tech Day 2023分論壇——汽車自動駕駛與新能源】
- 威盛Mobile360 車牌識別系統(tǒng),引領(lǐng)停車場智能化變革
- 汽車信息安全問題受重視,360和艾拉比專家分別發(fā)聲
- 全球CMOS圖像傳感器銷售額屢創(chuàng)新高,2018銷量可達(dá)137億美元
- 上海新昇大硅片正片實(shí)現(xiàn)銷售,成為國內(nèi)硅片希望
- 全新Arm IP保護(hù)物聯(lián)網(wǎng)設(shè)備免疫日益普遍的物理威脅
- 泛在電力物聯(lián)網(wǎng)不玩概念
- 電力現(xiàn)貨市場建設(shè)的機(jī)遇和挑戰(zhàn)
- 發(fā)改委三大舉措實(shí)現(xiàn)一般工商業(yè)電價(jià)再降10%
- 貴州首個西電東送工程累計(jì)送電2000億千瓦時
- 推進(jìn)“三型兩網(wǎng)”建設(shè) 共促電力工業(yè)高質(zhì)量發(fā)展