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

          新聞中心

          stm32 nvic的理解

          作者: 時(shí)間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
          因?yàn)閟tm32有43個(gè)中斷源,當(dāng)同時(shí)用到多個(gè)中斷時(shí),就要指定其中斷的優(yōu)先級了。

          nvic即是中斷向量的控制!由SCB->AIRCR寄存器控制,SCB->AIRCR中目前只用到4位,也就是最高能有16級中斷嵌套,如果全使用的話可以達(dá)到256級

          本文引用地址:http://www.ex-cimer.com/article/201611/317624.htm

          (1);選用優(yōu)先級分組(實(shí)際就是選幾位用于主優(yōu)先級幾位用于輔優(yōu)先級)

          group0:選0位用于主優(yōu)先級,4位用于輔優(yōu)先級。

          group1:選1位用于主優(yōu)先級,3位用于輔優(yōu)先級。

          group2:選2位用于主優(yōu)先級,2位用于輔優(yōu)先級。

          group3:選3位用于主優(yōu)先級,1位用于輔優(yōu)先級。

          group4:選4位用于主優(yōu)先級,0位用于輔優(yōu)先級。

          (2)這樣打個(gè)比方不恰當(dāng)?shù)谋确桨?,如果把一個(gè)中斷比作一個(gè)人,則他的國籍就是主優(yōu)先級,省籍就是輔優(yōu)先級。主優(yōu)先級高的可以

          打斷主優(yōu)先級低的中斷(如主優(yōu)先級0(我們叫他美國)的中斷高于主優(yōu)先級2(我們叫他伊拉克)的中斷,則主優(yōu)先級為0的中斷(美國人)可以

          打斷主優(yōu)先級為2的中斷(伊拉克人))。而對于輔優(yōu)先級,我們稱之為省籍,比如兩個(gè)人都是中國人(主優(yōu)先級),一個(gè)是北京的(假設(shè)輔優(yōu)先級為0

          ,高),一個(gè)是山西的(省籍為輔優(yōu)先級,假設(shè)為2,低),則北京人不能去打斷山西人做的事,但是,如果有同一個(gè)機(jī)會,則應(yīng)該先給北京人,即

          當(dāng)同時(shí)要響應(yīng)兩個(gè)這兩個(gè)主優(yōu)先級一樣的中斷時(shí),輔助優(yōu)先級高的先響應(yīng)。如果兩個(gè)中斷的主,輔優(yōu)先級都一樣時(shí),則在中斷向量表中靠前的

          先響應(yīng)。

          (3)group4可以最多執(zhí)行15個(gè)嵌套和一個(gè)中斷,group3可以最多執(zhí)行7個(gè)嵌套和一個(gè)中斷,依次類推。

          所以,

          group4可以指定主優(yōu)先級的范圍為0——15,輔優(yōu)先級的范圍為0

          group3可以指定主優(yōu)先級的范圍0———7,輔優(yōu)先級的范圍為0----1

          group2可以指定主優(yōu)先級的范圍0———3,輔優(yōu)先級的范圍為0----3

          group1可以指定主優(yōu)先級的范圍0———1,輔優(yōu)先級的范圍為0----7

          group1可以指定主優(yōu)先級的范圍0,輔優(yōu)先級的范圍為0----15

          所謂嵌套,即是主優(yōu)先級高的可以打斷主優(yōu)先級低的中斷的執(zhí)行(嵌套)。



          關(guān)鍵詞: STM32NVI

          評論


          技術(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); })();