现在的位置: 首页 > 综合 > 正文

IAR环境下中断函数无反应

2013年10月06日 ⁄ 综合 ⁄ 共 719字 ⁄ 字号 评论关闭

实验环境:IAR开发环境

                    LPC2148开发板


在IAR下开发真是各种特殊各种问题啊。。。

这次的问题是中断函数没有反应

解决方法是:

1)将Config目录下的lpc2xxx_cstartup.s79文件中的关于中断的注释去掉,如图:


2)在中断入口函数前加上

#pragma vector = 0x18(IRQ入口函数)

#pragma vector = 0x1C(FIQ入口函数)

  1. //LED  
  2. #pragma vector = 0x18  
  3. __irq void irq_handler(void)  
  4. {  
  5.   //delay(1000);  
  6.   if((IO1PIN&(0x1<<16))==0)  
  7.     IO1SET |= 0X1<<16;  
  8.   else  
  9.     IO1CLR |= 0x1<<16;  
  10.     
  11.   EXTINT = 0x1;  
  12.   VICVectAddr = 0X0;  
  13. }  
  14. //BEEP  
  15. #pragma vector = 0x1C  
  16. __irq void fiq_handler(void)  
  17. {  
  18.   IO0SET |= 0X1 << 7;  
  19.   delay(50);  
  20.   IO0CLR |= 0X1 << 7;  
  21.   EXTINT = 0x4;  
  22.   VICVectAddr = 0X0;  
  23. }  


就这么简单就解决了!可怜了网上找老半天没找着靠谱的答案。

嘿嘿,小小坏心眼,需要代码的人帮忙给点下载分吧~~我可是传了整个工程啊

代码内容:中断控制LED和蜂鸣器

下载地址:http://download.csdn.net/detail/shi020910/5189362

抱歉!评论已关闭.