snailmoving 发表于 2015-10-27 15:41:47

关于STC12C5A60S2的串口接收中断问题

本帖最后由 snailmoving 于 2015-10-27 15:47 编辑

初始化如下:
void uart0_init(void)
{
        SCON = 0x50;
        PCON = 0x00;
        BRT= 0xB8;
        AUXR = 0x15;
        ES = 1;
        EA = 1;


中断
void interrupt_Uart0() interrupt 4
{
        RI = 0;
        UART0Buffer=SBUF;
        if(UART0Count>510)UART0Count=0;
}

发一小段数据,然后就不停地进入中断。怎么回事?

小李非刀 发表于 2015-10-27 20:05:26

怎么回事?因为你没有清发送中断标志,所以会一直进入中断。

snailmoving 发表于 2015-10-28 08:53:06

小李非刀 发表于 2015-10-27 20:05
怎么回事?因为你没有清发送中断标志,所以会一直进入中断。

RI = 0;已经写了啊

小李非刀 发表于 2015-10-28 14:39:02

你确定 RI = 0; 是清发送中断???

天堂之泪 发表于 2015-10-28 20:32:01

觉得楼主的写法不太严谨
if (RI)
{
    RI = 0;
}

if (TI)
{
    TI = 0;
}

这样会好点。
页: [1]
查看完整版本: 关于STC12C5A60S2的串口接收中断问题