s3c6410 UART0 中断

2019-07-16 08:48发布

中断服务程序:
void __irq Isr_UART0_Rx(void)
{

        New_UART0_Rx |= BIT0;        //有新数据

        rUTXH0 = rURXH0;
       
        rUINTSP0 = 0;
        rUINTP0 =1;                                //清除中断标志
        VICInterruptEnd();        //中断结束
}

__inline void VICInterruptEnd(void)
{
        VIC0->ADDRESS = 0x00;        //写入任何值都可以清除当前中断
        VIC1->ADDRESS = 0x00;        //写入任何值都可以清除当前中断
       
}

问题:当我在串口调试助手输入1是,理论上应该回显1,但问题是一直收到1,调试程序后发现cpu一直进中断,我不是已经在中断服务程序里清除了中断标志位了吗?求解!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。