51结构的单片机,型号MSC1211,开发工具为mdk530。使用printf函数向串口0传数据。同时,程序中还需要通过串口0接收上位机下发的数据,所以打开了串口0中断。遇到问题如下:
为了使用printf,串口0初始化时,运行了语句TI=1;
因为打开了串口0中断,所以TI=1使得程序触发并响应串口0中断。在中断响应中,如果运行TI=0,则printf会失效;如果不运行TI=0,则程序会反复触发并响应串口0中断,从而耗费大量的CPU时间。
我想使用printf函数,但是不希望反复触发串口0中断。正确的做法应该是怎样的呢?
望指教,谢谢!