<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

NEC V850 之 外部中斷

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

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

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


硬件資源:

LED端口:P94 P10

KEY端口:P04(INTP1)


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

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

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

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

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

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

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

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

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

下面是代碼:

來(lái)自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 ; // 設置清中斷標置,開(kāi)啟外部中斷,并且優(yōu)先級設置為最低
PIF1 = 0 ; // 清中斷標志
PMK1 = 0 ; // 開(kāi)外部中斷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中斷標志
}

來(lái)自main.c

#include "main.h"

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

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

LED1 = 0 ;
LED2 = 1 ;

while(1);
}



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


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

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>