STM32的NVIC向量中斷控制器概述

2021-09-24 12:39:04 字數 764 閱讀 4005

1、nvic 的暫存器以儲存器對映的方式來訪問,除了包含控制暫存器和中斷處理的控制邏輯之外,nvic 還包含了 mpu、

的控制暫存器、 systick 定時器以及除錯控制。

2、nvic 共支援 1 至 240 個外部中斷輸入。nvic 還支援乙個「永垂不朽」的不可遮蔽中斷(nmi)輸入。

3、中斷的使能和除能:cm3 中可以有 240 對使能位/除能位,每個中斷擁有一對。這 240 個對子分布在 8 對 32 位暫存器中(最後一對沒有用完)。欲使能乙個中斷,你需要寫 1 到對應 setena 的位中;欲除能乙個中斷,你需要寫 1 到對應的 clrena 位中;如果往它們中寫 0,不會有任何效果。防止誤操作。

4、中斷的懸起與解懸:中斷的懸起狀態可以通過「中斷設定懸起暫存器(setpend)」和「中斷懸起清除暫存器(clrpend)」來讀取。其用法和用量都與前面介紹的使能/除能暫存器完全相同。

5、優先順序:每個外部中斷都有乙個對應的優先順序暫存器,每個暫存器占用 8 位,但是允許最少只使用最高 3 位。

6、活動狀態:每個外部中斷都有乙個活動狀態位。在處理器執行了其 isr 的第一條指令後,它的活動位就被置 1,並且直到 isr 返回時才硬體清零。

7、向量表的偏移量將一直為0,並且中斷向量一直在rom中,因此上例可以大大簡化,只需3步:

1. 建立優先順序組

2. 為該中斷指定優先順序

3. 使能該中斷

8、systick定時器。

9、軟體中斷。

詳細可參考《cortex-m3權威指南》第八章nvic與中斷控制。

STM32中NVIC 巢狀向量中斷控制 的理解

本文 nvic,中文名巢狀中斷向量控制器,是cortex m3系列控制器內部獨有整合單元,與cpu結合緊密,降低中斷延遲時間並且能更加高效處理後續中斷。舉個例子,比如火車站買票,那些火車站的規章制度就是nvic,規定學生和軍人有比一般人更高優先順序,它們則給你單獨安排個視窗,同學與同學之間也有區別,...

STM32的中斷向量

1 stm32的中斷向量有2個屬性,即搶占優先順序和響應優先順序,屬性編號越小,優先順序越高 2 搶占是指打斷其他中斷的屬性,即中斷巢狀。例 在執行中斷服務程式a時被中斷b打斷,執行完中斷服務程式b後再執行中斷服務程式a 3 中斷分組分為0到4 0 0位搶占優先順序,4位響應優先順序,響應優先順序可...

STM32 巢狀向量中斷控制器NVIC學習

stm32中有兩個優先順序的概念 搶占式優先順序和響應優先順序 也叫副優先順序 他們的特性是 1 高搶占式優先順序的中斷可以巢狀在低搶占式優先順序的中斷中 即低搶占式優先順序的中斷可以被高搶占式優先順序的中斷打斷 2 當兩個中斷源的搶占式優先順序相同時,這兩個中斷將沒有巢狀關係,當乙個中斷到來後,如...