感觉有难度,请高手指点,thanks

2020-02-02 09:38发布

本帖最后由 yurinacn 于 2012-10-23 15:44 编辑

unsigned  char  a[10];
unsigned char *pA;
unsigned char count;

void ser() interrupt 4
{
    if (RI)
    {
        if(count)
        {
            count--;
            *pA++ = SBUF;
        }
        else
        {
             count = SBUF;  //未检查count可能超过数组a大小
             pA = a;
        }
    }
}

大概就是这个意思,可能不对,急着走
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
eduhf_123
2020-02-03 02:43
L勇 发表于 2012-10-24 22:38
else
       {

              TI = 0;//这位大哥,这句在程序中有什么作用啊

    }


能执行到这里,是否说明有串口中断发生了?

能执行到“else”这里,是否说明“if()”里的判断条件不成立?也就是说,是否说明本次串口中断服务是由TI引起的?

如果我们放任这个TI标志不管,你想想会发生什么情况?

一周热门 更多>