if ((EINT0PEND&=0x1))
{
GPFCON=(GPFCON & ~(0xf<<28))|(0x1<<29)|(0x1<<31);
GPFPUD=(GPFPUD & ~(0xf<<28));
TimerDelay(5);
GPFCON=(GPFCON & ~(0xf<<28));
GPLCON1=(GPLCON1 & ~(0xfU<<24))|(0x1U<<24);
GPLDAT=(GPLDAT & ~(0xfU<<14))|(0x1U<<14);
}
if ((EINT0PEND&=0x2))
{
GPFCON=(GPFCON & ~(0xf<<28));
GPFPUD=(GPFPUD & ~(0xf<<28));
GPLCON1=(GPLCON1 & ~(0xfU<<24))|(0x1U<<24);
GPLDAT=(GPLDAT & ~(0xfU<<14));
}
写了一个按键中断服务程序,按下key1pwm输出,按下key2关闭pwm输出,在不加延时的时候key2可以关闭key1打开的pwm,但是加了延时之后key2就不起作用了,是因为在中断服务函数中加了延时导致key2无法响应了吗,即是在延时之前清中断也无法响应吗,只能等待key1 的服务函数执行完(延时),才能进入其他的中断服务函数是嘛?