LPC2132中断问题!!!

bailicai   2008-10-15 14:55 楼主
        main()
{
...
               IRQEnable();                                        // 使能IRQ中断
                                               
        /* 打开EINT0中断(使用向量中断) */
        VICIntSelect   = 0x00000000;        /* 设置所有中断分配为IRQ中断
        VICVectCntl0   = 0x20 | 0x0e;        /* 分配外部中断0到向量中断0
        VICVectAddr0   = (uint32)IRQ_Eint0;/* 设置中断服务程序地址       
        EXTINT         = 0x01;                        /* 清除EINT0中断标志
        VICIntEnable   = 1 << 0x0e;                /* 使能EINT0中断       
       
        while (1);                                /* 等待中断
        return (0);
}
这里while(1);//等待中断,
没看懂,这里不是死循环了吗?即使有中断产生,去执行相应的程序,那么中断完了呢程序回到哪?还是while(1)?
如果这样不还是死循环了吗?这样的程序有什么意义!!!

回复评论 (2)

呵呵, 这是最简单的单片机程序。有的人把这种叫前后台模式。

1. while(1)的目的是等待中断, 并防止程序跑飞;
2. 中断完成你需要处理的工作,理解了中断就明白了程序的意义。
点赞  2008-10-15 15:20
大侠能不能具体点?小弟现在就是在迷惑呢!!
要是能明白就不用问了!!!
点赞  2008-10-15 15:54
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复