根据项目需要使用了一个基于51内核的MCU,开始开发的第一件事就是调试串口和printf功能,毕竟printf功能在调试中十分重要。
这时候直接调用printf是无效,最后查找发现除了初始化需要使用的串口外还需要将putchar这个函数重新定义。
char putchar (char c) { UART1_TX1_IF_CLR; // 清除TX1中断标志位 UART1_TXB = c; // 发送数据 while(TX1_IF == 0); // 等待发送完毕 UART1_TX1_IF_CLR; // 清除TX1中断标志位 UART1_TX1_INT_EN; // 使能TX1中断 }
这样就可以正常使用printf进行输出打印日志了。
原文:https://www.cnblogs.com/fcchen/p/14674145.html