问一下我这个按键中断怎么不能生效?

2019-07-18 11:45发布

程序如下:
#include  "iolpc2131.h"
#define LEDCON 0x00000800
#include  "config.h"
/****************************************************************************
* 名称:DelayNS()
* 功能:长软件延时
****************************************************************************/

__irq __ARM  void  IRQ_Eint1(void)
{ int  i;

  i=VICIRQStatus;                  //读出VICIRQStatus的值

  i=IO0SET;                         //读出当前LED2控制值
  if((i&LEDCON)==0)               //控制LED2控制值
  { IO0SET=LEDCON;
  }
  else
  { IO0CLR=LEDCON;
  }
  while((EXtiNT&0x02)!=0)          //等待外部中断信号恢复为高电平
  { EXTINT=0x02;                   //清除EINT1中断标志
  }

  VICVectAddr=0x00;
}



/****************************************************************************
* 名称:main()
* 功能:
****************************************************************************/
int  main(void)
        {
        PINSEL0=0x20000000;
        PINSEL1=0x00000000;
        IO0DIR=LEDCON;
        
        IO0SET=LEDCON;
        
        IO0CLR=LEDCON;        
        //TargetInit();  
        VICIntSelect=0;
        VICIntEnable=0x00008000;
        VICVectCntl1=0x2F;
        //IRQ_Eint1;
        VICVectAddr1=(int)IRQ_Eint1;        
        EXTINT=0x07;        
        
        while(1);

        }


1.jpg
eint1.rar 下载积分: 积分 -1 分
24.12 KB, 下载次数: 6, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
1220
1楼-- · 2019-07-18 13:25
程序中加延迟试试
wwzj
2楼-- · 2019-07-18 17:35
 精彩回答 2  元偷偷看……

一周热门 更多>