amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 530|回复: 4

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

[复制链接]
发表于 2015-10-27 15:41:47 | 显示全部楼层 |阅读模式
本帖最后由 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[UART0Count++]=SBUF;
        if(UART0Count>510)UART0Count=0;
}

发一小段数据,然后就不停地进入中断。怎么回事?
发表于 2015-10-27 20:05:26 | 显示全部楼层
怎么回事?因为你没有清发送中断标志,所以会一直进入中断。
 楼主| 发表于 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;
}

这样会好点。
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-9-16 01:25

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表