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)?
如果这样不还是死循环了吗?这样的程序有什么意义!!!
呵呵, 这是最简单的单片机程序。有的人把这种叫前后台模式。
1. while(1)的目的是等待中断, 并防止程序跑飞;
2. 中断完成你需要处理的工作,理解了中断就明白了程序的意义。
大侠能不能具体点?小弟现在就是在迷惑呢!!
要是能明白就不用问了!!!