电路图我不知道正不正确,但我知道你的程序是有问题的,把if语句里的最后一句:”ES=1“移出if语句试试,之所以关闭串口中断,是因为接下来要发送数据,当发送后单片机同样会申请串口中断,若不关闭,又会进入中断服务程序,flag又会变成1,然后又会回到这里执行发送,这样就陷入了图中出现的发送死循环中,明白了吧
你单片机串口的电平不对。预计是被下拉 或者是上拉了 这样你的串口认为一直有数据进来,或者你写的模拟串口程序有问题。