我在按键例程中加入了一句 串口输出 printf ,结果按键就不管用了,怎么回事?

如题所述

第1个回答  2012-04-04
这是因为printf函数是调用putchar函数输入;
而putchar应该是先判断TI是否为1,不为1则等待为1。如果为1则清0,然后送出一个字符。而单片机上电复位后TI是为零的,因此你如果直接使用printf函数,你的程序就会在putchar函数中等待TI为1。
所以在使用printf前,必须手动将TI=1。

请到keil/c51/lib下查看putchar函数的原文件,就明白这一点。

参考资料:http://zhidao.baidu.com/question/258231010.html