ARM 串口中断问题 一直进串口中断出不来

ARM 串口中断问题 一直进串口中断出不来

问题描述:

想写一个串口中断,在输入一些值的时候能跳入中断响应,
中断标志位,子中断标志位,中断屏蔽位,子中断屏蔽位都有定义,
在串口输入一些值后,能显示进入了中断并且能读到,
但是会一直循环进入串口中断,
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;

        }