1209a6b76f22a509
获得 0 次赞
帮助过0人
各位大佬好,我是新人最近学51单片机有一个问题一直困惑着我,就是关于串口中断函数何时进入的问题,如下面代码void Usart() interrupt 4{ u8 receiveData; receiveData=SBUF; RI = 0; SBUF=receiveData; while(!TI); TI=0; }复制代码上面的串口中断函数应该是在RI或TI置一的时候进入,上面的中断函数初次进入是RI=1,但是运行到SBUF=receiveData的时候,此时TI应该置0,等待TI置1,那假如在这个程序中,TI在中断程序中变成1,那中断程序是直接运行到末尾还是重新从头运行,毕竟TI=1触发了中断,应该重头再次运行。