想写一个串口中断,在输入一些值的时候能跳入中断响应,
中断标志位,子中断标志位,中断屏蔽位,子中断屏蔽位都有定义,
在串口输入一些值后,能显示进入了中断并且能读到,
但是会一直循环进入串口中断,
SRCPND1 = SRCPND1;INTPND1 = INTPND1;
清过标志位了,但还是不行
可能是什么原因?
void key_init(void)
{
GPFCON = 0xaa;
EXTINT0 = (0X7 <<12) | (0X7 << 8) | (0X7 << 4) | (0X7 << 0);
SRCPND1 = SRCPND1;
INTPND1 = INTPND1;
INTMSK1 &= ~(0X0F);
INTMSK1 &= ~(1 << 28);
INTSUBMSK &= ~(1 << 0);
}
if(SRCPND1 & (1 << 28))
{
if(SUBSRCPND & (1 << 0))
{
c = URXH0&0xff;
my_printf("´®¿ÚÖжÏ\r\n%c\r\n",c);
}
SRCPND1 = SRCPND1;
INTPND1 = INTPND1;
}