hbchf 发表于 2012-10-29 23:41:07

关于lpc23xx外部中断奇怪的问题!

本帖最后由 hbchf 于 2012-10-29 23:42 编辑

现在我使用lpc2368的P2.13的外部中断功能,出现了外部触发程序进入中断后就出不来了!
程序:
DWORD EINTInit( void )
{

PINSEL4 &= 0x4000000;                  //GPIO2.13设置成EINT3
IO2_INT_EN_F = 0x1000<<1;               //设置所需I/O口为下降沿中断
EXTMODE = EINT3_EDGE;                                 //边沿触发
EXTPOLAR = 0;                                                   
if ( install_irq(EINT3_INT,(void *)EINT3_Handler,HIGHEST_PRIORITY )==FALSE)
{
        return (FALSE);
}
return( TRUE );
}


void EINT3_Handler (void) __irq
{
EXTINT = EINT3;                /* clear interrupt */       
       
IENABLE;                                /* handles nested interrupt */

IDISABLE;

VICVectAddr = 0;                /* Acknowledge Interrupt */
}


如上图中断3的使能位和中断请求位一直是1,程序一直在30行和32行循环,无论我怎么改变P2.13值的状态,效果一样!
那位大侠帮我分析下,或有P2.13外部中断的例子给我借鉴下,谢谢了!

hbchf 发表于 2012-10-31 16:38:25

问题解决了!
中断入口函数加个io中断清零!

看来年底大家都很忙呀!

joken_007 发表于 2012-12-27 10:06:08

标记。。。。

kalo425 发表于 2013-7-24 16:01:21

mark一下

在途中 发表于 2013-10-25 11:27:58

VICVectAddr = 0;                /* Acknowledge Interrupt */
这句话清除中断地址?第二次中断时还能否进入中断?
页: [1]
查看完整版本: 关于lpc23xx外部中断奇怪的问题!