51单片机串口中断跳不出

我想在串口中断中放AD循环采集的代码,就用了while,但发现,只要开启这个中断后,就一直跳不出,也接手不到新的中断,请问各位朋友我该怎么改啊

如果你在中断中放循环,那如果循环没有结束,那就一直无法退出这个中断,那这个中断会一直挂起,当然就不能响应新的中断请求了啊。你可以把AD采集放到主程序中加好标记位,在中断只处理标记位;

你发代码出来看一下?

第一幅图片感觉问题很明显呀。
switch(sbuf)

case ‘z':
其一: while(sbuf=='z') //这句只能说多余,还不是最至命的。都已经在switch 的 z 分支下,
你说 while(sbuf=='z') 能不成立吗?
其二: 你在while 中,你有什么条件跳出循环?
你会一直执行while(1)