在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > NEC V850 之 外部中斷

            NEC V850 之 外部中斷

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

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

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


            硬件資源:

            LED端口:P94 P10

            KEY端口:P04(INTP1)


            在使用V850的外部中斷的時候有下面幾個步驟:

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

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

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

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

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

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

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

            第八步:編寫中斷服務函數,并且在中斷函數里清相應的標志位。

            下面是代碼:

            來自ExtInt.c

            #include "ExtInt.h"

            void ExtInterrupt_Init(void)
            {
            PMC0_bit.no4 = 1 ; // 設置端口為第二功能模式
            PFCE0_bit.no4 = 0 ; // 選擇第二功能為外部中斷
            PFC0_bit.no4 = 0 ;
            INTF0_bit.no4 = 1 ; // 設置使能下降沿
            INTR0_bit.no4 = 0 ; // 設置禁止上升沿
            PIC1 = 0x07 ; // 設置清中斷標置,開啟外部中斷,并且優(yōu)先級設置為最低
            PIF1 = 0 ; // 清中斷標志
            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中斷標志
            }

            來自main.c

            #include "main.h"

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

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

            LED1 = 0 ;
            LED2 = 1 ;

            while(1);
            }



            調試的時候注意兩個地方,初始化后要開啟全局中斷;第二個就是在中斷服務函數里對相應的標識位進行清零。


            關鍵詞: NECV850外部中

            評論


            技術專區(qū)

            關閉