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

          新聞中心

          NEC V850 之 外部中斷

          作者: 時(shí)間:2016-12-03 來源:網(wǎng)絡(luò) 收藏
          編譯環(huán)境:IAR For V850 3.81 + MiniCube2

          硬件平臺(tái):NEC V850ES/FG3 D70F3630 (D70F3377A)

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


          硬件資源:

          LED端口:P94 P10

          KEY端口:P04(INTP1)


          在使用V850的外部中斷的時(shí)候有下面幾個(gè)步驟:

          第一步:設(shè)置端口模式寄存器為第二功能模式(PMCn = 1);

          第二步:設(shè)置第二功能模式選擇,選擇相應(yīng)的第二功能(PFCEn,PFCn);

          第三步:設(shè)置外部觸發(fā)條件,上升沿觸發(fā),下降沿觸發(fā),上升和下降沿都觸發(fā)(INTFn,INTPn);

          第四步:設(shè)置中斷控制寄存器,包括中斷標(biāo)識(shí)位,中斷使能位,中斷優(yōu)先級(jí)(xxICn);

          第五步:清中斷標(biāo)志位(xxIFn);

          第六步:使能中斷位(xxMKn);

          第七步:開全局中斷(__EI());

          第八步:編寫中斷服務(wù)函數(shù),并且在中斷函數(shù)里清相應(yīng)的標(biāo)志位。

          下面是代碼:

          來自ExtInt.c

          #include "ExtInt.h"

          void ExtInterrupt_Init(void)
          {
          PMC0_bit.no4 = 1 ; // 設(shè)置端口為第二功能模式
          PFCE0_bit.no4 = 0 ; // 選擇第二功能為外部中斷
          PFC0_bit.no4 = 0 ;
          INTF0_bit.no4 = 1 ; // 設(shè)置使能下降沿
          INTR0_bit.no4 = 0 ; // 設(shè)置禁止上升沿
          PIC1 = 0x07 ; // 設(shè)置清中斷標(biāo)置,開啟外部中斷,并且優(yōu)先級(jí)設(shè)置為最低
          PIF1 = 0 ; // 清中斷標(biāo)志
          PMK1 = 0 ; // 開外部中斷1屏蔽位
          }

          #pragma vector = INTP1_vector
          __interrupt void MD_INTP1(void)
          {
          P9L_bit.no4 = ~P9L_bit.no4 ;
          P1_bit.no0 = ~P1_bit.no0 ;
          PIF1 = 0; // 清外部中斷1中斷標(biāo)志
          }

          來自main.c

          #include "main.h"

          void main(void)
          {
          WDTM2 = 0x1F ; // 關(guān)閉看門狗定時(shí)器,進(jìn)入系統(tǒng)先關(guān)看門狗定時(shí)器,防止系統(tǒng)進(jìn)入異常

          __DI(); // 關(guān)全局中斷
          GPIO_PortInit(); // 初始化通用IO口
          ExtInterrupt_Init(); // 初始化外部中斷口
          __EI(); // 開全局中斷

          LED1 = 0 ;
          LED2 = 1 ;

          while(1);
          }



          調(diào)試的時(shí)候注意兩個(gè)地方,初始化后要開啟全局中斷;第二個(gè)就是在中斷服務(wù)函數(shù)里對(duì)相應(yīng)的標(biāo)識(shí)位進(jìn)行清零。


          關(guān)鍵詞: NECV850外部中

          評(píng)論


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