<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32中斷優(yōu)先級分組

          STM32中斷優(yōu)先級分組

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

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

          本文引用地址:http://www.ex-cimer.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)

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

          答案:當(dāng)然不沖突了!因為雖然STM32的"優(yōu)先級配置寄存器"沒有使用bit3、bit2、bit1、bit0,但是卻允許從它們中分組(分組位置由應(yīng)用程序中斷及復(fù)位控制寄存器(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



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

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();