⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eint1_led.c

📁 周立功单片机ARM学习板easyARM2104的测试程序等
💻 C
字号:
/****************************************************************************
* File:EINT1_LED.C
* 功能:使用外部中断1进行LED4的控制,每当有一次中断时,即取反LED4,
*      以便指示中断输入。
* 说明:将跳线器JP8_LED4短接。
****************************************************************************/
#include  "config.h"
  

#define	  LEDCON	0x00002000		/* P0.13引脚控制LED4,低电平点亮*/


/****************************************************************************
* 名称:IRQ_Eint1()
* 功能:外部中断EINT1服务函数,取反LED4。
* 入口参数:无
* 出口参数:无
****************************************************************************/
void   __irq IRQ_Eint1(void)
{  uint32  i;

   i = VICIRQStatus;				// 读出VICIRQStatus的值
   
   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为输入
   
   /*  打开EINT1中断(不设置向量控制器,即使用非向量IRQ) */
   VICIntSelect = 0x00000000;
   VICIntEnable = 0x00008000;
   EXTINT = 0x07;				// 清除外部中断标志	
   
   while(1);					// 等待中断
   return(0);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -