?? eint1_led.c
字號:
/****************************************************************************
* File:EINT1_LED.C
* 功能:使用外部中斷1進行LED4的控制,每當有一次中斷時,即取反LED4,
* 以便指示中斷輸入。
* 說明:將跳線器JP8_LED4短接。
****************************************************************************/
#include "config.h"
#define LEDCON 0x00002000 /* P0.13引腳控制LED4,低電平點亮*/
#define TEST 0x00001000
/****************************************************************************
* 名稱:IRQ_Eint1()
* 功能:外部中斷EINT1服務函數,取反LED4。
* 入口參數:無
* 出口參數:無
****************************************************************************/
void __irq IRQ_Eint1(void)
{ uint32 i;
i = VICIRQStatus; // 讀出VICIRQStatus的值
if((i&0x20000000)!=0)
IOSET = TEST;
i = IOSET; // 讀取當前LED4控制值
if( (i&LEDCON)==0 ) // 控制LED4輸出
{ IOSET = LEDCON;
}
else
{ IOCLR = LEDCON;
}
while( (EXTINT&0x02)!=0 ) // 等待外部中斷信號恢復為高電平
{ EXTINT = 0x02; // 清除EINT1中斷標志
}
}
/****************************************************************************
* 名稱:main()
* 功能:初始化外部中斷1及IO連接等。
****************************************************************************/
int main(void)
{
PINSEL0 = 0x20000000; // 設置I/O口工作模式,P0.14設置為EINT1
PINSEL1 = 0x00000000;
IODIR = LEDCON; // 設置LED4控制口為輸出,其它I/O為輸入
IOSET = LEDCON;
/* 打開EINT1中斷(不設置向量控制器,即使用非向量IRQ) */
VICIntSelect = 0x00000000;
VICIntEnable = 0x00008000;
EXTINT = 0x07; // 清除外部中斷標志
while(1); // 等待中斷
return(0);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -