SBUF0 = temp; //将接收到数据送出.
while(TI0 == 0); //发送标志位是否产生.
TI0 = 0; //清发送标志位
……
上述程序,会死机的。
while(TI0 == 0); //发送标志位是否产生.--永远等不到 TI0 = 1
一旦为1,立即就进入中断,在中断函数中,马上清零了。
不能接收,不仅仅是程序的问题。
首先看,总线上有没有信号,先用示波器量一下。
如果有,再对照uart的设置说明仔细检查程序的配置。
串口通讯还是比较容易排查问题的,仔细看一下。
你看看你的程序里面,“串口允许接收位”有没有置位,配合你的单片机数据手册看看。。。。。。。。
麻烦`采纳.··.··.·