本帖最后由 justdoit2008 于 2014-9-23 09:20 编辑
最近看到一个串口中断的例子
void CommINT() interrupt 4
{
if(RI)
{
RI = 0;
if(Flag == 1)
{
RxBuff[RxCount] = SBUF;
。。。。。。
}
RxCount++;
。。.。。
}
if(TI)
{
TI = 0;
。。。。
SBUF = response[Index++];
。。。。
}
}
当有串口数据时则RI=1,执行RI后面的程序。
但是什么时候TI才会为1,执行TI=1后面的程序呢?望解惑!?
一般人好像都是在其他函数中对SBUF写数据的。 |