关于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外部中断的例子给我借鉴下,谢谢了! 问题解决了!
中断入口函数加个io中断清零!
看来年底大家都很忙呀! 标记。。。。 mark一下 VICVectAddr = 0; /* Acknowledge Interrupt */
这句话清除中断地址?第二次中断时还能否进入中断?
页:
[1]