关于 printf 自己看手册 printf()和puts() 应该都会使用下面的函数来发送字节 void putchar(uchar sbyte ) { while(~TI); //等待上一次发送完成 SBUF=sbyte; } 所以如果第一次调用putchar之前没有TI=1 就永远在等待了