新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32中斷優先級分組

        STM32中斷優先級分組

        作者: 時間:2016-11-28 來源:網絡 收藏
        Cortex-M3的中斷優先級分組方式最多可以有有8種,因為CM3強制規定:SubPriority至少要占一個位(如果沒有該強制規定,那么CM3分組方式最多有9種)。

        我們知道:STM32把指定中斷優先級的寄存器的MSB4位有效,共有以下5種分組方式:
        第0組方式:所有4位用于響應優先級
        第1組方式:最高1位用于搶占式優先級,最低3位用于響應優先級
        第2組方式:最高2位用于搶占式優先級,最低2位用于響應優先級
        第3組方式:最高3位用于搶占式優先級,最低1位用于響應優先級
        第4組方式:所有4位用于搶占式優先級

        本文引用地址:http://www.104case.com/article/201611/322973.htm

        在MISC.H里面有:

        #define NVIC_PriorityGroup_0((uint32_t)0x700)
        #define NVIC_PriorityGroup_1((uint32_t)0x600)
        #define NVIC_PriorityGroup_2((uint32_t)0x500)
        #define NVIC_PriorityGroup_3((uint32_t)0x400)
        #define NVIC_PriorityGroup_4((uint32_t)0x300)

        我們發現:第4組方式是“所有4位用于搶占式優先級”,那么這是不是與"SubPriority至少要占一個位"相沖突呢?

        答案:當然不沖突了!因為雖然STM32的"優先級配置寄存器"沒有使用bit3、bit2、bit1、bit0,但是卻允許從它們中分組(分組位置由應用程序中斷及復位控制寄存器(AIRCR)的[10:8]決定)。

        =========================

        第0組采用的分組方式是

        bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

        第1組采用的分組方式是

        bit7bit6 bit5 bit4 bit3 bit2 bit1 bit0

        第2組采用的分組方式是

        bit7 bit6bit5 bit4 bit3 bit2 bit1 bit0

        第3組采用的分組方式是

        bit7 bit6 bit5bit4 bit3 bit2 bit1 bit0

        第4組采用的分組方式是

        bit7 bit6 bit5 bit4bit3 bit2 bit1 bit0



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 襄汾县| 哈尔滨市| 大名县| 梅州市| 兴仁县| 蓬溪县| 新丰县| 常山县| 金溪县| 沁源县| 吉水县| 阳春市| 横峰县| 玛沁县| 密云县| 容城县| 迁安市| 大安市| 通化县| 锡林浩特市| 海城市| 黄陵县| 项城市| 永修县| 嘉义市| 连平县| 岫岩| 弥勒县| 大连市| 措美县| 赤峰市| 马关县| 东丰县| 南江县| 深州市| 上高县| 鹤峰县| 古浪县| 大港区| 岢岚县| 伊金霍洛旗|